Overview
Personal project, Mar 2026 – Present
An LLM-based adaptive study coach built around one design choice: keep the teaching logic in the model, not in hardcoded scheduling rules. The model decides what to teach, when to quiz, how to score partial answers, and when to revisit a concept. The code manages storage, interfaces, and guardrails around those decisions — changing how the system teaches mostly means editing prompt modules, not rewriting backend logic.
What I Built
The system combines a custom spaced-repetition model, a topic-and-concept knowledge graph, and a modular prompt layer where separate skill files define teaching, quizzing, and knowledge reorganisation behaviors.
What started as a Discord bot is now a multi-surface product sharing a single learning pipeline: Discord for day-to-day use, a FastAPI backend for programmatic access, and a React browser app for reviewing progress and exploring the knowledge graph.
Reliability
The harder part was making an LLM-driven system dependable enough to trust with real notes and study history. I added structured-output validation, confirmation flows for state-changing actions, automated backups, and runtime-editable preferences. I also wrote backend tests around review flows and output contracts, and frontend tests for the main app surfaces.
Technologies
Python · discord.py · FastAPI · React · TypeScript · SQLite · Qdrant · D3.js · LLM prompt design · Spaced repetition · REST API
Gallery