About the project
Sova Study
Sova is an AI-native learning platform for K-12 students. It helps a student who is stuck understand the problem and checks their work, but it never hands over the final answer.
I'm building it as an ongoing side project, in parallel with client work, designing and writing the product myself.
This case follows two turns: what parents actually needed from it, and where the AI should stop deciding.
Rebuilt the product's AI architecture after testing showed a pure-LLM approach was convincing but educationally unreliable. Curriculum, exercises and mistake diagnosis now run on deterministic logic; AI only explains.
Sova in action
Real kids, real homework, a voice in five languages
Hear Sova
0:00 / 0:11
- From concept to a working beta
- 5 months
- Build awards
- 2 Antigravity Build Challenge (June 2026), Lovable Hackathon (2026)
- Testing earlier prototypes with children
- 25+ hours
- Who Students
Stuck on homework at 7pm. They mostly don’t want to cheat, but an AI that gives the answer is the fastest way to be done.
- Who Parents
Want learning and honesty, but can’t re-learn ninth-grade maths. They end up policing, which strains the relationship.
- What A tutor, not an answer engine
Explains, practises and checks work. Never gives the final answer.
- Owned Product, design and code
Research, UX, visual identity and the front end, as a solo founder.
- Built with React, Spline, KaTeX
A voice-enabled 3D avatar, maths rendering and text-to-speech.
- Tested With students and parents
A closed alpha on real homework and test preparation, plus earlier prototypes with children.
Part 1 · What parents needed
Parents didn’t want to teach. They wanted to verify.
a week, one beta-test parent spent just checking whether the homework was right.
I started with two modes: a Guide that explains concepts without giving answers, and a Trainer that turns study material into practice quizzes.
The bet was that help and practice were enough, and that students would move from onboarding into regular study.
A closed alpha with students and parents, on real homework and test preparation, changed that:
- Worked Exam preparation
Practice from study material performed well.
- Missed Daily engagement
Lower than expected. Most students finished homework without needing help.
- Saw Parents check, not teach
They checked whether the work was correct, not where their child struggled.
“I spend 2–3 nights a week just checking if the homework is right. I don’t need a tutor, I need an answer key that explains itself.”
The product moved from helping to verifying. The linear flow became a hub with three jobs: Guide, Validator and Trainer.

Decision 1
Never hand over the final answer
- Options
- Give the answer with a good explanation, as general AI tools do, or explain the approach and stop short of the answer.
- Chose
- The Guide explains the concept, offers a similar worked example and can quiz the student. It never solves the problem in front of them, and the chat assistant follows the same rule.
- Why
- Answer engines were teaching students nothing, and parents were policing their use.
- Gave up
- A slower route to finished homework, and the risk that a frustrated student switches back to a tool that just answers.

Decision 2
Check the reasoning, not just the result
- Options
- Mark the final answer right or wrong, or read the full working and point to the step that went wrong.
- Chose
- The Validator: the student photographs handwritten work, Sova reads the steps, and feedback highlights the step where the logic broke down. Checked work is saved to My Work. A child doing this with real homework is shown at the top of the page.
- Why
- It automates the parent’s nightly check, which is what parents told us they needed.
- Gave up
- Simplicity. Reading the full working makes handwriting recognition much harder than reading one number.

Decision 3
Ask “Is this what you wrote?” before solving
- Options
- Trust the recognised text silently and wait for better models, or show what Sova read and let the student confirm.
- Chose
- Students photograph half a page at a time. Before checking anything, Sova shows what it read and asks “Is this what you wrote?”: confirm, edit or skip.
- Why
- Models misread messy handwriting (a 5 can look like an S), and solving the wrong problem would destroy trust. I couldn’t fix the model, so I fixed it in the interface.
- Gave up
- An extra step between the photo and the result on every unclear scan.
Part 2 · Where AI shouldn’t decide
Convincing, but not reliable enough to teach
of testing earlier prototypes with children: Dreamweaver, an AI storyteller, and an emotion-reactive avatar companion.
Testing showed that a pure-LLM approach gave answers that sounded right but were educationally unreliable. For a learning product, convincing is not the same as correct.
Deterministic logic decides
- Curriculum alignment
- Exercise selection
- Mistake diagnosis
AI delivers
- Natural-language explanation
Decision 4
Deterministic logic decides; AI only explains
- Options
- Let one LLM pick the curriculum, the exercises and the diagnosis, or move those decisions into rules and keep the model for language.
- Chose
- Curriculum alignment, exercise selection and mistake diagnosis moved into deterministic logic. The AI is limited to natural-language delivery: explaining, in words a student understands.
- Why
- The pure-LLM version was convincing but educationally unreliable. The decisions that shape learning need to be predictable and checkable.
- Gave up
- Flexibility. Every subject and exercise type now needs explicit logic instead of a prompt.
Decision 5
Make the AI’s rules editable, one feature at a time
- Options
- One global prompt in the code, or a prompt and model per feature, managed from an admin panel.
- Chose
- An admin panel where every Sova surface (workspace chat, lesson generation, the assistant, translation) has its own prompt and model. Topic-specific instructions are injected only for the topic they belong to, such as the German multiplication curriculum for Mathematics / Multiplication. I can change a prompt or model live and test the result, without a deploy.
- Why
- Changing how one feature behaves, its tone, model or curriculum, shouldn’t risk the others. Code decides which instructions apply to which topic; the model only follows them.
- Gave up
- More prompts to maintain and keep consistent with each other.

Decision 6
A companion with a voice, not a chatbot
- Options
- A plain chat interface, or a character students can talk to and personalise.
- Chose
- Test the voice use case before building the avatar. The Sova 3D avatar didn’t exist yet, so I tested with an experimental character: kids speak, it answers out loud, and its emotional state follows what the AI is doing: thinking while it processes, happy, sad or upset depending on the reply. The nine states are shown at the top of the page. Sova’s avatar is a voice-enabled 3D character (Spline in React), with text-to-speech and maths rendered with KaTeX.
- Why
- Earlier prototypes with children, including an emotion-reactive avatar companion, pointed to a friendly, low-pressure character.
- Gave up
- Illustration and 3D work for every state, which competes with the core product for a team of one.
What I’d do next
Next, I’m building the parent side: a weekly view of what each child checked and where their reasoning keeps breaking, so the 2–3 nights of checking become five minutes of reading.