Inspiration

It's midnight before an exam. You're stuck on a problem, so you open a chatbot. The question is clear in your head, but you can't put it into words. You type something close, and the chatbot answers what you typed, not what you meant: a long, generic answer that doesn't help.

We realised the real problem isn't the answer, it's the question. People often can't say what they want. The thought exists before the words for it. Every chatbot makes you do the hard part: describe what's in your mind. So we asked: what if the tutor never made you find the words, and instead learned how you think?

What it does

Versa is an adaptive AI tutor that learns your thinking style and teaches you your way.

Versa doesn't ask, it offers. After every answer it lays out a few cards for where the idea could go next, and you tap the one that matches what was already in your mind. The cards come from a library of 16 kinds of next step in four families:

  • Make it real: a concrete example, where it's used, try it yourself, real numbers
  • Go deeper: why it works, a harder version, prove it, a common mistake
  • Make it simpler: an everyday analogy, picture it, the story behind it, the one-line version
  • Go wider: what comes next, compare it, connect it to another subject, the debate

Every tap is a clue. Across chats, topics and days, Versa looks for what repeats: where you start, what you pick next, how deep you go. Once a pattern holds, that is your thinking style, and Versa adapts:

  • It guesses your next pick before you tap, then shows you: "Versa guessed you'd pick this · 7 of your last 10".
  • Your follow-up answers start your way, for example "Shaped to how you explore: example → why". The first answer to anything new is always normal. The shaping only kicks in on follow-ups, so it feels like mind reading, not guessing.
  • If none of the cards fit and you type your own question, that "miss" is the most valuable signal of all: Versa reads what you asked for instead and varies what it offers next time.

The thinking style powers four modes:

  • Learn a topic: search any subject or bring a PDF or link, pick the branches you want, and Versa builds a full course of chapters and lessons with tracked progress.
  • Sandbox: ask anything, anytime, even with a photo of your homework. If a question could mean two things, Versa asks first with one-tap options (clarifying is always free). An animated character acts out the idea while the answer streams in. When you're done, one tap turns the whole chat into revision notes you can download as a PDF.
  • Exam prep: your syllabus becomes units, 5-question quizzes and timed mock tests, with a study plan up to exam day.
  • Study with others: a group room where Versa joins as a tutor, stays quiet while friends talk, and steps in to give each member the right push.

You can also set your own length, depth and breadth with sliders and regenerate any answer, and the Thinking style page shows every pattern Versa found, with the evidence behind it. You can approve, edit or archive what it believes about you.

How we built it

  • App: Flutter, one codebase for Android, iOS and web, with Firebase sign-in (Google or email) and a WebSocket that streams every answer as it's written.
  • Backend: Python, FastAPI, and PostgreSQL 16 with pgvector for memory and retrieval. It runs on Google Cloud Run, Cloud SQL and Secret Manager.
  • AI: Google Gemini. A fast model handles the ambiguity check, the options and the cards, a stronger model writes the final answer, and Gemini embeddings power memory and similarity.
  • The thinking-style engine:
    • Each answer draws a random pool of cards from the library, and you see a hand of three, one per family.
    • Because hands are random, every pick is read against the cards that were actually offered, using a Plackett–Luce choice model, so we measure preference rather than what happened to be shown.
    • Every observation is split into lenses: style, range, interest, ability, mood, and what you said. A pick made while you were stuck, or rushed taps, count for less.
    • A pattern is only confirmed when it holds across at least 3 sessions and 3 topics, beats other learners at least 1.5×, and predicts your later picks out of sample at \( p < 0.05 \), Bonferroni-corrected for every candidate tested.
  • Monetization: RevenueCat for Versa Plus (1-month free trial, monthly or yearly), a one-time Exam Pass, and Spark packs. Sparks are learning credits with one rule: pay for learning, never for confusion. Clarifying a question is always free.
  • Trust by design: 22 written invariants. Every store is append-only, every model call is logged with its prompt and output, and the test suite enforces it with an AST check. Every claim Versa makes about a learner traces back to stored, readable evidence.

Challenges we ran into

  • Our first architecture lost to a plain chatbot. We started with a big learner model: hypotheses, a concept graph, a planner scoring six value terms, and a branching prediction tree. When we tested it head-to-head against a single plain LLM call, it lost at 20–40× the cost. We cut it all and kept only what survived measurement.
  • Not inventing a style. In early tests, a random learner was told they had a style 10–22% of the time. Out-of-sample prediction and multiple-testing correction brought that down to 0–4%.
  • Not fooling ourselves. If Versa shapes an answer and you then pick the matching card, that pick partly reflects Versa. We mark those picks as steered and keep them out of the evidence, and the cards themselves are never personalised. They are the measuring instrument.
  • Telling style apart from mood and ability. A tired student or a hard topic changes your picks for a day. Separating those from your lasting way of thinking took a whole layer of its own.
  • Telling topics apart. Raw embedding similarity couldn't tell subjects apart, so we switched to centred embeddings.

Accomplishments that we're proud of

  • A tutor that shows its work: Versa guesses your pick before you tap, tells you how often it was right, and lets you open any belief to see the exact picks behind it.
  • In a live run with a simulated student on real Gemini, guess accuracy rose from 5 of 9 in the first third to 8 of 9 in the last, and one pattern was confirmed with 16 of 21 later picks predicted correctly across 8 topics.
  • Every first answer to something new stayed normal (10 of 10). Adaptation only appears where it should.
  • Four full learning modes, a working subscription system and revision notes, all from one codebase on Android, iOS and web.

What we learned

  • Personalisation has to be earned and visible. People trust an adaptive tutor when it shows why it adapted, and when they can correct it.
  • The best signal about how someone thinks isn't a quiz about learning styles. It's the small, natural choices they make when they're not being asked.
  • Measuring against a plain baseline early saved us. Cutting the clever thing that doesn't work is a feature.

tested with real users:

Got positive reviews for the app features, especially the exam mode, felt interesting and understanding the concepts became easier

What's next for Versa

  • Testing with more real students at scale, and proving that learning in your own style actually helps, with a style-on vs style-off comparison.
  • Exam prep as the "under pressure" version of your thinking style: how you revise and react to a wrong answer when the exam is close.
  • An interest layer that follows what pulls you, in step with how you think.
  • New card types discovered from what students ask for when no card fits, reviewed by people before they join the library.

Aiming category

Next Gen award

Built With

Share this project:

Updates

Submission history