Inspiration
I wanted to build a learning system that feels more personal than a fixed course. Instead of assuming every learner should receive the same next lesson, Adaptive Learning Studio asks what the learner currently knows, what they are struggling with, and what prerequisite would help them move forward. The goal was to make the adaptation understandable rather than hide it behind a black box.
The problem
Static courses give every learner the same next lesson. Real learning isn't like that: two students looking at the same topic can need completely different questions — one may need a misconception corrected while the other is overdue for review.
What Adaptive Learning Studio does
A working, documented learning-science engine that picks the question with the biggest learning gain for each learner and shows its reasoning on screen.
- 17 skills, one prerequisite graph — CS Foundations + AI & Data, staged left-to-right on a visual skill map. Only roots start unlocked; a skill crossing 70% mastery unlocks its dependants.
- Pick any target — the path engine runs a topological sort over prerequisites and unlocks the cheapest route to that goal.
- Sessions with reasons — every question is tagged: due review, weak spot, or new material.
- Answers that teach — a wrong answer returns the explanation, the exact misconception the distractor was built to catch, the new mastery percentage, and the next review date.
- Transparent maths — per-skill ability estimate updated by a logistic model scaled by question difficulty; mastery is derived from that estimate. Review intervals grow 1, 3, 7, 14, 30, and 60 days.
- Grounded tutor — answers stay inside the curriculum and use the learner's mastery information; a deterministic local provider works offline by default, with an optional OpenAI-compatible LLM provider when configured.
Everything runs with zero API keys in the default setup. The project includes automated tests for the learning engine and API, a TypeScript build, CI, and Docker Compose deployment support.
Why Track 03
Track 03 is the Open / General Invention track. This project fits it as an advanced software stack with a complete end-to-end adaptive learning flow and an inspectable learning engine.
Built for reuse
The system is structured so another developer can inspect the learning model, prerequisite graph, scheduler, API, and frontend rather than treating the adaptation as a black box.
Built With
- docker
- fastapi
- github-actions
- groq
- neon
- postgresql
- pydantic
- pytest
- python-3.11
- react-18
- render
- sqlalchemy-2
- sqlite
- typescript
- vite
Log in or sign up for Devpost to join the conversation.