Four modules, designed independently
The platform is four independently designed modules rather than one system with four features. Fault isolation is the reason: a failure inside the tutoring path should not take grading down with it, and modules that were designed together tend to fail together.
Role on the project: Team Lead.
ATLAS — the intelligence unit
ATLAS is the module I built personally, and it holds three things: the shared knowledge base, the assignment-creation engine, and the virtual tutoring component.
- Bayesian Knowledge Tracing carries the model of what a student knows. It is the part that makes the platform adaptive rather than merely responsive — the system holds a belief about mastery and updates it, instead of reacting to the last answer alone.
- LangGraph orchestrates the agent workflows, which is what makes them stateful across a session rather than a chain of independent calls.
- Graph RAG over a Pinecone vector store is the grounding. Answers come from real course material, which for a tutoring system is not a nicety: an adaptive tutor that invents a fact teaches it.
Event-driven where the work is asynchronous
Automated grading and document ingestion are backed by Apache Kafka. Both are slow, bursty, and must not block a request path, which is the shape an event-driven architecture is for.
Delivery and degradation
I designed and integrated the entire CI/CD — Jenkins pipelines — and owned full AWS deployment. OpenAI APIs, ElevenLabs TTS, and Firebase are integrated with fallback handling, so a third-party outage degrades a feature instead of ending a session.