hardy-ai

byHet Shah

Statement of Work (SOW) Srijan Science AI – Vertical RAG System Client: Srijan Publishers Pvt. Ltd. Project: Science AI Assistant for Classes 6–10 Delivery Type: Fixed-Price MVP Pilot Platform: Web Application (PWA) 1. Project Overview Srijan Publishers intends to develop an AI-powered educational assistant designed specifically for its Science textbook series (Classes 6–10). The system will leverage Retrieval Augmented Generation (RAG) to ensure that all responses are strictly grounded in Srijan’s proprietary textbook content. The goal is to create a secure, reliable AI assistant that helps: Students resolve doubts while studying. Teachers generate explanations, examples, and teaching support materials. The system will operate on approximately 80–90 chapters across multiple science textbooks and will be accessible through a web-based Progressive Web Application (PWA). This MVP will serve as a pilot implementation before potential full-scale deployment across the entire product ecosystem. 2. Project Objectives The objectives of the Srijan Science AI system are: Build a Vertical RAG system grounded only in Srijan’s textbook content. Provide accurate scientific answers aligned with textbook explanations. Support LaTeX / MathJax rendering for physics and chemistry formulas. Ensure complete data privacy and sovereignty for proprietary textbook content. Provide a user-friendly PWA interface accessible through QR codes. 3. Scope of Work The project will include the following components. 3.1 Data Ingestion & Processing The system will ingest the Science textbooks (Classes 6–10) and convert them into structured knowledge for AI retrieval. Tasks • PDF ingestion and parsing • Text extraction from textbook chapters • Identification of sections, headings, diagrams, and formulas • Chunking of content into retrievable knowledge segments • Embedding generation for semantic search Deliverable A structured knowledge base of all textbook chapters ready for AI retrieval. 3.2 RAG-Based AI Engine The core of the system will be a Retrieval Augmented Generation architecture. Functionality When a user asks a question: The system retrieves the most relevant textbook content The AI generates an answer only from retrieved content The system displays source references Key Features • Strict grounding in textbook PDFs • No external internet knowledge usage • Context-aware responses • Source citations from textbooks 3.3 LaTeX / Scientific Formula Rendering Science content requires accurate representation of formulas. The system will support: • LaTeX • MathJax • Chemical formulas • Physics equations • Mathematical expressions Examples: Physics: E = mc² Chemistry: H₂SO₄ 3.4 Web Application (PWA) A Progressive Web Application will be developed for easy access. Features • QR-code based access from textbooks • Student chat interface • Teacher assistance tools • Response rendering with formulas Advantages • Works like a mobile app without installation • Accessible across devices • Lightweight and fast 3.5 Teacher Assistance Features Teachers will be able to use the system to: • Generate explanations of textbook concepts • Create practice questions • Generate summaries of chapters • Get examples for classroom teaching All generated content will remain grounded in textbook materials. 3.6 Security & Data Sovereignty The system will be deployed on a private cloud infrastructure. Security Features • Encrypted document storage • Role-based access control • Secure APIs • No external model training using proprietary content The client retains complete ownership of all data and content. 4. System Architecture (High-Level) The system will consist of the following components: Data Layer Textbook PDF storage Document processing pipeline Vector database AI Layer Embedding models Retrieval system LLM generation layer Application Layer Web-based PWA interface Student and teacher UI Infrastructure Layer Private cloud deployment Secure APIs Monitoring and logging 5. Technology Stack (Proposed) AI / RAG Layer • Python • LangChain / LlamaIndex • OpenAI / Claude • Vector Database (Weaviate / Pinecone / FAISS) Backend • FastAPI Frontend • ReactJS / NextJS Scientific Rendering • MathJax • KaTeX Infrastructure • AWS / Azure / Private Cloud • Docker containers • Kubernetes (optional scaling)

LandingLoginHomeChatAssistSettingsDashboardUsers
Landing

Comments (0)

No comments yet. Be the first!

Project Tasks34

#1

Implement Theme & Design System

To Do

As a frontend developer, I want to implement the global color palette, typography, design tokens, and component primitives (buttons, cards, inputs, badges) based on the hardy-ai design system. Primary: Deep Blue (#003366), Secondary: Bright Orange (#FF6600), Accent: Light Gray (#F2F2F2). Set up CSS custom properties, Inter font, glassmorphism utilities, and animated background canvas (navy-to-midnight gradient with drifting LaTeX fragments). Remove scaffold pages not needed in the final product. This task must be completed before all page implementation tasks.

AI 80%
Human 20%
High Priority
2 days
Frontend Developer
#12

Implement User Management API

To Do

As an admin, I want to use the backend API to manage user roles and access control. Implement FastAPI endpoints: GET /api/admin/users (list all users with roles/status), PUT /api/admin/users/{id}/role (assign Student/Teacher/Admin role), PUT /api/admin/users/{id}/access (enable/disable access), DELETE /api/admin/users/{id}. Implement role-based access control (RBAC) middleware ensuring only Admin role can access these endpoints. Include pagination and search/filter support.

AI 65%
Human 35%
Medium Priority
2 days
Backend Developer
#13

Implement Analytics API Backend

To Do

As an admin, I want to use the backend API to monitor system performance and usage analytics. Implement FastAPI endpoints: GET /api/admin/analytics/overview (concurrent users, total queries, uptime), GET /api/admin/analytics/usage (per-day/week query volume, top topics, formula render counts), GET /api/admin/analytics/performance (avg response time, error rates). Integrate with application logging and metrics collection.

AI 65%
Human 35%
Medium Priority
2 days
Backend Developer
#15

Implement Data Ingestion Pipeline

To Do

As a data engineer, I want to build a data ingestion pipeline that processes Srijan textbook PDFs into a structured vector knowledge base. Implement: PDF ingestion and parsing for Classes 6-10 science textbooks, text extraction with section/heading/formula identification, content chunking strategy for optimal retrieval segments, embedding generation using sentence transformers, and indexing into WeaviateDB vector store with metadata (class, chapter, section, page). Deliverable: fully indexed knowledge base of ~80-90 chapters ready for semantic retrieval.

AI 60%
Human 40%
High Priority
4 days
Data Engineer
#21

Implement Database Models & Migrations

To Do

Define all SQLAlchemy ORM models and Alembic migrations for MySQL: users, roles, chat_sessions, chat_messages, analytics_events, concept_mastery, student_rankings, school_rankings, announcements, worksheets, preferences. Ensure foreign keys, indexes, and soft-delete support across all tables.

AI 60%
Human 40%
High Priority
3 days
Backend Developer
#29

Setup WeaviateDB Schema & Collections

To Do

Initialize WeaviateDB schema: define ScienceContent collection (text, subject, grade, chapter, source_doc, chunk_index, formula_present properties), Concept collection (concept_name, chapter, grade, mastery_threshold), and configure vectorizer (text2vec-openai or text2vec-transformers). Create schema initialization script and health-check endpoint. Must complete before data ingestion pipeline runs.

AI 55%
Human 45%
High Priority
1.5 days
Data Engineer
#30

Configure LiteLLM Router & AI Models

To Do

Configure LiteLLM proxy/router with GPT-5.4 (OpenAI) and Claude 4.6 Opus (Anthropic) model definitions, API key injection via environment variables, fallback chain (primary → secondary → graceful error), per-model rate limits, cost tracking callbacks, and a /health endpoint. Expose as an internal FastAPI-mounted service consumed by the RAG pipeline and Teacher Assist API.

AI 50%
Human 50%
High Priority
2 days
AI Engineer
#31

Setup Environment & Secrets Management

To Do

Create .env.example files for backend, frontend, and AI services documenting all required variables (DB credentials, LiteLLM/OpenAI/Anthropic API keys, WeaviateDB URL, JWT secret, AWS/Azure storage keys). Configure AWS Secrets Manager or Azure Key Vault integration for production secret injection. Document per-environment variable strategy (dev/staging/prod).

AI 40%
Human 60%
High Priority
1 day
DevOps Engineer
#2

Build Landing Page

To Do

As a user, I want to experience the Interactive Science Lab landing page so I can scan a QR code to access the PWA. Implement the full Landing (v2) design including: animated 3D science lab background with floating molecules and LaTeX equations, NavBar with frosted glass, HeroLab full-viewport section, QRAccessBanner, FeatureHighlights (4 cards), HowItWorks (3-step stepper), InteractiveLabShowcase (two-column with lab mockup), FormulaRenderingDemo (live LaTeX demo), UserPersonaCards (Student/Teacher), TrustAndStats, CallToAction, and Footer. All sections based on existing JSX designs.

Depends on:#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
3 days
Frontend Developer
#3

Build Login Page

To Do

As a user, I want to sign in to hardy-ai so I can access the Student or Teacher dashboard. Implement the Login (v2) design including: LoginTopBar with glowing atom logotype, LoginHero with welcome badge and headline, LoginCard with role selector pill toggle (Student/Teacher), email/password inputs with icons, forgot password link, Sign In CTA button with orange gradient, QR code alternative login option, and LoginFooterStrip. Connects to: Landing (entry) → Home (on success). Integrate with existing authentication backend.

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#14

Implement RAG Pipeline & AI Engine

To Do

As a user, I want the AI engine to retrieve relevant textbook content and generate strictly grounded answers using RAG architecture. Implement: LangChain RAG pipeline with LiteLLM router (GPT/Claude), WeaviateDB vector store integration for semantic retrieval, context-aware response generation with source citation injection, strict grounding enforcement (no external knowledge), LaTeX formula detection and passthrough in responses. Support chunked retrieval across all Classes 6-10 science chapters (80-90 chapters).

Depends on:#15
Waiting for dependencies
AI 60%
Human 40%
High Priority
5 days
AI Engineer
#22

Implement Home Dashboard API

To Do

Build FastAPI endpoints: GET /api/home/stats (questions asked, formulas viewed, topics explored, streak), GET /api/home/recent-activity (last 5 interactions), GET /api/home/announcements (school/system-wide notices). Supports student and teacher role filtering. Required by Build Home Dashboard Page task.

Depends on:#21
Waiting for dependencies
AI 65%
Human 35%
High Priority
2 days
Backend Developer
#24

Implement Settings API

To Do

Build FastAPI endpoints: PUT /api/users/profile (name, bio, avatar, language), PUT /api/users/password (current + new password with bcrypt), PUT /api/users/preferences (notification toggles, theme, language, accessibility options). Include validation, rate limiting on password change, and audit logging.

Depends on:#21
Waiting for dependencies
AI 65%
Human 35%
Medium Priority
1.5 days
Backend Developer
#26

Implement Student Analytics API

To Do

Build FastAPI endpoints: GET /api/analytics/concept-mastery (per-topic mastery % with trend data), GET /api/analytics/engagement-quality (session depth, question complexity scores, Socratic vs direct answer ratios), POST /api/analytics/adaptive-worksheet (generate worksheet targeting chapters with lowest mastery scores). Feeds Concept Mastery % and Engagement Quality KPIs required by SRD. Note: supports existing Analytics frontend tasks and new Analytics page.

Depends on:#21
Waiting for dependencies
AI 70%
Human 30%
High Priority
3 days
Backend Developer
#32

Implement CI/CD Pipeline

To Do

Set up GitHub Actions workflows: (1) PR checks — lint, type-check, unit tests for frontend and backend; (2) build & push Docker images to ECR/ACR on merge to main; (3) staging deploy via kubectl apply; (4) production deploy with manual approval gate. Include Alembic migration step and WeaviateDB schema validation in deploy pipeline.

Depends on:#31
Waiting for dependencies
AI 45%
Human 55%
Medium Priority
2 days
DevOps Engineer
#4

Build Home Dashboard Page

To Do

As a student or teacher, I want to view my personalized Home dashboard so I can quickly access all platform features. Implement the Home (v2) design including: TopBar (sticky, frosted glass, nav links, avatar chip, notification bell), WelcomeBanner (personalized greeting, animated molecule illustration), StatsOverview (4 stat cards: Questions Asked, Formulas Viewed, Topics Explored, Streak), QuickActions (2x2 grid tiles: Ask Question, Render Formula, Generate Explanation [Teacher], Create Practice Questions [Teacher]), RecentActivity (scrollable feed of last 5 interactions), ProfileCard (sidebar: avatar with orange ring, role badge, stats, Edit Profile button), AnnouncementsPanel (sidebar: announcements with colored dots), ResourceShortcuts (3 resource cards), and Footer. Navigates to: Chat, Assist, Formula pages.

Depends on:#1#3
Waiting for dependencies
AI 88%
Human 12%
High Priority
3 days
Frontend Developer
#8

Build Admin Dashboard Page

To Do

As an admin, I want to view system analytics and monitor platform usage from a centralized dashboard. Implement the Dashboard (v1) design including: usage analytics charts, concurrent user metrics, system performance indicators, and activity summaries. Admin flow: Login → Dashboard → View Analytics → Monitor Usage. Connects to Users page for role management.

Depends on:#1#3
Waiting for dependencies
AI 80%
Human 20%
Medium Priority
2 days
Frontend Developer
#10

Implement Chat API Backend

To Do

As a user, I want to use the backend API to ask science questions and receive RAG-grounded answers from textbook content. Implement FastAPI endpoints: POST /api/chat/message (accepts question + session context, returns AI-generated answer with source citations), GET /api/chat/sessions (list user's chat sessions), POST /api/chat/sessions (create new session), GET /api/chat/sessions/{id}/messages (retrieve message history). Integrate with LiteLLM router and LangChain RAG pipeline. Responses must include LaTeX-formatted formulas where applicable.

Depends on:#14
Waiting for dependencies
AI 70%
Human 30%
High Priority
3 days
Backend Developer
#11

Implement Teacher Assist API

To Do

As a teacher, I want to use the backend API to generate explanations, practice questions, chapter summaries, and classroom examples grounded in textbook content. Implement FastAPI endpoints: POST /api/assist/explanation, POST /api/assist/questions (with difficulty param: easy/medium/hard), POST /api/assist/summary (with length param: brief/detailed), POST /api/assist/examples. GET /api/assist/history (retrieve session generation history). All endpoints must use RAG pipeline strictly grounded in Srijan textbook content. Support LaTeX output in generated content.

Depends on:#14
Waiting for dependencies
AI 70%
Human 30%
High Priority
3 days
Backend Developer
#17

Implement PWA & QR Code Access

To Do

As a user, I want to access hardy-ai as a PWA via QR code scan so I can use it on any device without installation. Implement: Web App Manifest with hardy-ai branding, Service Worker for offline caching of static assets, QR code generation linked to the PWA landing URL, install prompt handling, and mobile viewport optimization. Ensure WCAG 2.1 compliance. Test on Android and iOS browsers.

Depends on:#2
Waiting for dependencies
AI 70%
Human 30%
Medium Priority
2 days
Frontend Developer
#23

Connect Home Dashboard to Backend

To Do

Wire up the Home Dashboard Page to live API data: fetch /api/home/stats for KPI cards, /api/home/recent-activity for activity feed, /api/home/announcements for notice board. Handle loading/error states, role-conditional rendering (student vs teacher views), and real-time streak display. Note: depends on existing task f81e0a7b (Build Home Dashboard Page) and task_022.

Depends on:#22
Waiting for dependencies
AI 60%
Human 40%
High Priority
1.5 days
Frontend Developer
#25

Connect Settings Page to Backend

To Do

Wire up the Settings Page to live APIs: profile update form to PUT /api/users/profile, password change form to PUT /api/users/password, preference toggles to PUT /api/users/preferences. Handle optimistic updates, validation error display, and success/failure toast notifications. Note: depends on existing task 82c19da0 (Build Settings Page) and task_024.

Depends on:#24
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
1 day
Frontend Developer
#27

Implement National Ranking API

To Do

Build FastAPI endpoints: GET /api/ranking/student (student's percentile rank nationally and by state/city), GET /api/ranking/school (school's percentile vs city and national averages), GET /api/ranking/city-comparison (city-vs-city performance metrics for principal view), GET /api/ranking/school-comparison (school-vs-school for principal). Batch-compute rankings via background Celery/APScheduler tasks.

Depends on:#21#26
Waiting for dependencies
AI 60%
Human 40%
High Priority
3 days
Backend Developer
#34

Configure Performance & Load Scalability

To Do

Configure infrastructure for 100k concurrent users and 99.9% uptime: add Horizontal Pod Autoscaling (HPA) rules to k8s manifests for backend and AI services, configure Redis caching layer for ranking and analytics endpoints, set up SQLAlchemy connection pooling (pool_size/max_overflow), add CDN configuration (CloudFront/Azure CDN) for frontend static assets, and implement API rate limiting via FastAPI middleware.

Depends on:#32#31
Waiting for dependencies
AI 45%
Human 55%
High Priority
3 days
DevOps Engineer
#5

Build Chat Page

To Do

As a student, I want to ask science questions in a chat interface and receive textbook-grounded answers with rendered formulas. Implement the Chat (v2) design including: ChatTopBar (breadcrumb, session controls), ChatSidebar (conversation history, new chat button, chapter filter), ChatMessageThread (message bubbles with LaTeX/MathJax rendering, source citations, typing indicator), ChatInputBar (textarea with send button, formula toggle, file attach), and ChatFooterBar. Flow: Home → Chat → View Answer → View Formula. Support LaTeX/MathJax rendering in message output.

Depends on:#4#1
Waiting for dependencies
AI 85%
Human 15%
High Priority
3 days
Frontend Developer
#6

Build Assist Page

To Do

As a teacher, I want to access all teacher assistance tools in one place so I can generate explanations, questions, summaries, and classroom examples. Implement the Assist (v2) design including: AssistTopBar (breadcrumb, Switch to Student View toggle), AssistSidebar (four tool nav items: Generate Explanation, Create Questions, Generate Summary, Classroom Examples — with orange active indicator), AssistToolSelector (4-tile quick-switcher grid), AssistInputPanel (dynamic form with chapter/topic autocomplete, textarea, option chips for difficulty/length, Generate CTA), AssistOutputPanel (rich-text output with LaTeX rendering, Copy/Download/Regenerate/Bookmark actions), and AssistHistoryDrawer (collapsible recent generations panel) and AssistFooterBar. Flow: Home → Assist → Generate/View Output.

Depends on:#4#1
Waiting for dependencies
AI 87%
Human 13%
High Priority
3 days
Frontend Developer
#7

Build Settings Page

To Do

As a user, I want to manage my account settings, preferences, and notification options. Implement the Settings (v2) design including profile settings, notification preferences, appearance options (theme), accessibility settings, and security/password management. Consistent with the overall dark navy design system.

Depends on:#1#4
Waiting for dependencies
AI 82%
Human 18%
Medium Priority
2 days
Frontend Developer
#9

Build Users Management Page

To Do

As an admin, I want to manage user roles and access control so I can assign Student, Teacher, or Admin roles and control platform access. Implement the Users (v1) design including: user list table with search and filter, role badge display, edit access controls, role assignment modal, and bulk actions. Admin flow: Dashboard → Users → Manage Roles → Edit Access.

Depends on:#1#8
Waiting for dependencies
AI 78%
Human 22%
Medium Priority
2 days
Frontend Developer
#28

Build Analytics & Ranking Page

To Do

Build the student/teacher/principal-facing analytics page: Concept Mastery radar chart per chapter, Engagement Quality trend graph, adaptive worksheet download/view panel, personal percentile rank card showing national standing (e.g. 'Top 10% nationally'), and school/city rank comparison panel for principals. Use recharts or Chart.js. WCAG 2.1 compliant.

Depends on:#27#26
Waiting for dependencies
AI 55%
Human 45%
High Priority
3 days
Frontend Developer
#16

Integrate LaTeX/MathJax Rendering

To Do

As a user, I want to view beautifully rendered scientific formulas (physics equations, chemical formulas, math expressions) inline in the chat and assist output. Integrate MathJax or KaTeX library into the React frontend. Implement: inline and block LaTeX rendering in ChatMessageThread and AssistOutputPanel, formula detection from AI response text, chemical formula rendering (H₂SO₄, H₂O), physics equation display (E=mc², F=ma), math expression support. Ensure rendering works on mobile PWA with acceptable performance.

Depends on:#6#5
Waiting for dependencies
AI 75%
Human 25%
High Priority
2 days
Frontend Developer
#20

Connect Admin Dashboard to Backend

To Do

As an admin, I want the Dashboard and Users pages to display live analytics and user management data from the backend APIs. Wire up Dashboard page charts to GET /api/admin/analytics/* endpoints, connect Users page table to GET /api/admin/users with search/filter/pagination, implement role assignment via PUT /api/admin/users/{id}/role, and access toggle via PUT /api/admin/users/{id}/access. Enforce admin-only route guards on frontend.

Depends on:#8#9#13#12
Waiting for dependencies
AI 72%
Human 28%
Medium Priority
2 days
Frontend Developer
#33

Implement WCAG 2.1 Accessibility Audit

To Do

Perform full WCAG 2.1 AA audit across all pages (Landing, Login, Home, Chat, Assist, Settings, Admin Dashboard, Analytics). Fix: keyboard navigation, ARIA labels on all interactive elements, color contrast ratios ≥4.5:1, screen-reader support for LaTeX/MathJax output, focus trapping in modals. Produce accessibility report and apply all fixes. Note: depends on all page builds being complete.

Depends on:#28
Waiting for dependencies
AI 40%
Human 60%
Medium Priority
2.5 days
Frontend Developer
#18

Connect Chat Page to Backend

To Do

As a student, I want the Chat page to send my science questions to the backend RAG API and display grounded answers with formula rendering in real time. Wire up ChatInputBar to POST /api/chat/message, implement streaming or polling for AI response display, render source citations in message thread, load chat history from GET /api/chat/sessions/{id}/messages, and handle loading/error states with appropriate UI feedback.

Depends on:#10#16#5
Waiting for dependencies
AI 75%
Human 25%
High Priority
2 days
Frontend Developer
#19

Connect Assist Page to Backend

To Do

As a teacher, I want the Assist page to call the teacher assistance API and display generated content with formula rendering. Wire up AssistInputPanel Generate button to the appropriate POST /api/assist/* endpoint based on active tool, display streamed or returned output in AssistOutputPanel with LaTeX rendering, implement Copy/Download/Bookmark actions, load generation history from GET /api/assist/history into AssistHistoryDrawer, and handle loading/error states.

Depends on:#16#6#11
Waiting for dependencies
AI 75%
Human 25%
High Priority
2 days
Frontend Developer
Landing design preview
Login: Sign In
Dashboard: View Analytics
Dashboard: Monitor Usage
Users: Manage Roles
Users: Edit Access
Settings: Configure System