An e-learning platform built around an intelligent assistant: learners ask contextual questions and get grounded answers, receive personalized content recommendations, and have their progress tracked automatically instead of navigating a static course catalog.
The problem & constraints
Generic LLM chat bolted onto a course platform tends to answer questions disconnected from what the learner is actually working on, and gives no way to track whether the interaction actually helped them progress. The goal was an assistant that's contextual to the learner's current material and progress, not a generic chatbot widget.
Approach
- FastAPI backend exposing a REST API consumed by the platform frontend, keeping the AI assistant logic as a discrete service rather than tangled into page rendering.
- Integrated the OpenAI API for the question-answering and recommendation logic, with prompts scoped to the learner's current course context rather than open-ended chat.
- Progress tracking modeled as its own concern, feeding back into what the recommendation logic considers relevant next material.
Trade-offs made
- A scoped, context-aware assistant over a general-purpose chatbot: constraining the assistant to the learner's current material made answers more relevant, at the cost of more work wiring context into every prompt rather than shipping a drop-in chat widget.
- REST API boundary between backend and AI logic: kept the assistant swappable/testable independently of the frontend, rather than coupling the LLM calls directly into UI code.
Results
A working platform where the assistant's answers and recommendations are tied to what the learner is actually studying, with progress tracked automatically rather than self-reported.
What I'd do differently
Add automated evaluation of answer quality (even a small labeled test set) instead of relying on manual spot-checks — for an education product, silently-wrong answers are a real risk worth testing for explicitly.