Inspiration

I kept noticing that when a tutor, or an AI, sees a wrong answer, it just gives the right one. But a wrong answer can come from a few different places. Maybe the rule is backwards, maybe the words got swapped, maybe two ideas got mixed up. The same explanation doesn’t fix all of those. [One or two sentences on why this matters to you, like a class you took or a time you got stuck.] So I wanted to build something that asks why before it explains.

What it does

You answer a question in your own words. MindMirror guesses what might be going wrong, shows you the exact words it based that guess on, and tells you how sure it is (low, medium or high). It keeps the other possible explanations on screen too. Then it asks a follow-up question designed so that different answers point to different explanations, and it tells you why it picked that question.

You can tell it the guess is wrong, and it changes its mind. At the end it gives you a new question in a different setting to see if the idea holds up.

The demo is AP Biology osmosis. If you say water moves toward the side with less dissolved stuff (which is backwards), it doesn’t just correct you. It tries to work out why you said that.

How we built it

MindMirror is a React and TypeScript app built with Vite, with HTML and CSS for the layout and Lucide React for the icons. A small Node server sits behind it and holds the prompts and the API key, so neither reaches the browser. We built it with Claude Code.

With an API key, the server sends the student’s answer to Claude and checks the reply before showing it. Without one, the app runs a demo mode. It follows a script for the osmosis example and reads what the student types using simple rules. That mode is not AI, and the app says so on screen.

Both modes go through the same checks. Every quote shown as evidence has to match the student’s own words, or it gets removed. Confidence is capped by how many answers the student has given, so one answer can only be “low”. We wrote 13 tests for these checks and the demo logic.

Challenges we ran into

Keeping the AI from overclaiming was the hardest part. The server checks that every quote it shows is really something you wrote, and it won’t show “high” confidence after one answer. Another problem is that a backwards answer can be a real misunderstanding or just a slip of the pen. The app has to keep both options open until an answer tells them apart. [Add something real from your day, like setup problems or what broke.

Accomplishments that we're proud of

The whole loop works without an API key: guess, ask, revise, check. It says “I can’t tell yet” when it can’t. It never claims anyone learned something, because one answer can’t show that. There are 13 automated tests for the demo logic and the checks.

What we learned

The question matters more than the explanation. Writing down what each possible answer would mean made the follow-up questions much better. Also, a confidence label only means something if the system is actually limited by how much evidence it has.

What's next for MindMirror

Try it with real students and teachers before saying anything about whether it helps. Add more topics. Check understanding again days later, since one question right after an explanation can’t show that. Give teachers a view of which mix-ups show up most in their class.

Built With

Share this project:

Updates

Submission history