Agentic AI learning and academic success platform for students, teachers, and admins.
NOVA centers on grounded student-facing AI workflows that read real app data, propose structured outputs, and require approval before mutating state.
Current student agent surfaces:
Academic Success Agentat/student/agentCareer Roadmapat/student/careerResearch Assistantat/student/researchProject Mentorat/student/project-mentor
Reads timetable, attendance, and assignments. Proposes study plans. Student approves or rejects. Approved plans can be completed or skipped. Skipped sessions can trigger reschedule proposals.
Reads student profile, academic history, and prior roadmap memory. Proposes milestone-based career roadmap. Student approves or rejects pending roadmap.
Finds research sources for topic, summarizes response in chat, and lets student save session into ResearchNote records.
Reads existing projects, proposes milestone plans for new project work, and supports milestone updates. New project plans now enter pending approval flow before becoming active.
Next.js 15App RouterReact 19TypeScriptTailwind CSSRadix UI+shadcn/uiMongoDB+MongooseNextAuth.js v4OpenRouter / OpenAI-compatible tool callingFlaskML service inapps/ml-api
apps/
web/
app/
api/
student/
agent/
career-agent/
research-agent/
project-mentor/
orchestrator/
student/
agent/
career/
research/
project-mentor/
lib/
academic-agent.ts
career-agent.ts
research-agent.ts
project-agent.ts
agent-tools.ts
models.ts
ml-api/
docs/
Node.js >= 18pnpm- running MongoDB instance
- OpenRouter-compatible API key for agent flows
Copy root example file into web app env file:
cp .env.example apps/web/.env.localMinimum required values:
MONGODB_URIMONGODB_DB_NAMENEXTAUTH_SECRETNEXTAUTH_URLOPENROUTER_API_KEY
Common optional values:
OPENROUTER_API_BASEOPENROUTER_MODELPERFORMANCE_PREDICTOR_API_URL
Install dependencies:
pnpm -C apps/web installSeed demo data:
pnpm -C apps/web seed:demoStart web app:
pnpm -C apps/web devStart ML API separately if needed:
cd apps/ml-api
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python app.pyPOST /api/student/agentPOST /api/student/agent/actionPOST /api/student/agent/sessionPOST /api/student/career-agentPOST /api/student/career-agent/actionPOST /api/student/research-agentPOST /api/student/research-agent/savePOST /api/student/project-mentorPOST /api/student/project-mentor/action
All student mutation routes derive acting student from getServerSession. Client does not supply student id.
StudyPlanAgentActionCareerRoadmapResearchNoteProject
Research Assistantsave path reuses existing persistence logic throughsaveResearchNote.Career RoadmapandProject Mentornow both have dedicated approval routes instead of relying only on orchestrator path.- Sidebar groups student AI entries under single
AI Agentssection.
Latest local verification after agent UI/API updates:
pnpm -C apps/web exec tsc --noEmitpassespnpm -C apps/web lintdoes not pass repo-wide because of pre-existing unrelated lint errors, includingapps/web/app/page.tsx
- Product/design direction: docs/Design.md
- project rules: docs/Rules.md
- phase notes: docs/Phases.md