Inspiration
Most AI tutors can answer a student's questions, but they often treat every interaction as if it comes from a completely new student. They may also guess when a question is ambiguous instead of asking what the student actually means.
That inspired us to build Versa, a conversational AI tutor that remembers how a student learns.
Our goal was to move beyond a simple question → answer system and build a tutor that can understand the conversation, remember useful learner information, and use that information when it becomes relevant later.
What it does
Versa is a conversational AI tutor that supports text and voice interaction.
When a student interacts with Versa, it can understand the current conversation, detect ambiguous questions, ask for clarification, remember useful learner information, retrieve relevant learner memories using Moss, and use that context with Gemini to generate a personalized response.
For example:
Student: Explain trees.
Versa: Do you mean data-structure trees, decision trees, or something else?
The student can also tell Versa:
Student: Use programming examples when you explain things to me.
Later, Versa can retrieve that preference and use it when answering another question.
How we built it
Versa combines Gemini, Moss, and PostgreSQL.
Gemini generates the tutor's responses.
Moss provides fast semantic retrieval of relevant learner memory.
PostgreSQL acts as the durable source of truth for learner information and evidence.
The main flow is:
Student → Versa → Moss retrieval → Gemini → Personalized response
We also added a real-time voice interaction layer so students can interact with the same tutoring system using spoken input and audio responses.
Challenges we ran into
One of the biggest challenges was designing a memory system that could retrieve the right information for the right learner at the right time.
We also had to ensure strict learner isolation so that information belonging to one student could never be retrieved for another student.
Another challenge was integrating the voice interaction with the same conversation, memory, and personalization pipeline.
We also had to balance adding features with keeping the application reliable enough for a complete end-to-end demonstration.
Accomplishments that we're proud of
We built a working end-to-end prototype combining:
Conversational tutoring + learner memory + ambiguity handling + semantic retrieval + real-time voice interaction
We are particularly proud that Moss is part of the actual learner-memory retrieval path, rather than being included only as a showcase feature.
The live Moss retrieval path achieved approximately 2 ms retrieval latency in our testing.
We also reached a stable implementation with 476 automated tests passing, including the voice functionality.
What we learned
We learned that personalization is not simply about giving an LLM more information.
The harder problems are deciding:
What should be remembered?
When should it be retrieved?
How should learner information be represented?
How do we keep it isolated to the correct learner?
We also learned that memory is not just a database feature. It directly affects the quality of the tutoring experience.
A conversational AI system needs more than the ability to generate answers. It needs to maintain context, handle ambiguity, retrieve relevant information, and use that information naturally in the conversation.
What's next for Versa
Our next goal is to make Versa's learner model more useful over longer periods of interaction.
We want Versa to better understand patterns such as how a student prefers explanations, which concepts they repeatedly struggle with, and which teaching approaches work better for that student.
We also plan to further improve the real-time voice experience, strengthen the learner-memory system, and eventually provide teachers with tools to understand student progress and interaction patterns.
Our long-term vision is simple:
Versa should not just know the answer. It should know the learner.
Built With
- ai
- conversational
- gemini
- generative
- language
- learning
- livekit
- machine
- moss
- natural
- postgresql
- processing
- python
- real-time
- search
- semantic
- tutor
- voice
- web
Log in or sign up for Devpost to join the conversation.