Inspiration

Everyone does the same thing after finishing homework: text a friend, "What'd you get for 7?" The useful part of that is finding out where you two disagree. The harmful part is that you also see their answer, and then it's just copying.

I wanted the useful part without the harmful part: a way to find my mistakes with a friend's help, while still having to fix them myself.

What it does

Second Opinion lets two friends check the same homework without ever seeing each other's answers.

  1. Start a set. Type your answers and get a five-letter code. No worksheet? Press Make a set with AI and it writes practice questions on any topic.
  2. *Send the code to one friend. * They type their own answers.
  3. *See only where you differ. * You both get "Recheck Q3 and Q6." You never see what the other person put, so the fixing is still yours.
  4. Learn the ones you missed. Once both sets of answers are locked, tap any question and the AI built into Chrome walks you through how to do it.

It is built so it can't turn into an answer-sharing tool:

  • The server never sends anyone's answers back, only "match" or "recheck" per question.
  • Answers lock when you submit, so you can't change one and re-check to fish for your friend's answer.
  • A set holds exactly two people and deletes itself after 48 hours.
  • No account, no name, no email.

It also understands that 0.75, 3/4, and 75% of the same thing are equal, and that x = 5 means 5.

Try it alone with the practice code 4K2P9.

How we built it

  • Website: React, TypeScript, Vite, and Tailwind CSS, hosted on GitHub Pages.
  • Server: A small Node API on Render's free plan that compares the two answer lists and stores sets in a key-value store, expiring them after 48 hours.
  • AI: Chrome's built-in AI (Gemini Nano, through the Prompt API). It runs on your own device, is free, and nothing you type leaves your computer. The page asks before Chrome downloads the model.
  • The character: his head follows your cursor, his eyes track it, and he blinks. We composed one frame of the artwork at 63 head angles with LivePortrait, and a small WebGL shader blends between them live.
  • The video: made in Blender and After Effects, in the style of Buff Motion's "Motion Array Brand Promo".

AI disclosure: The code was written with Claude Code (Anthropic's AI coding assistant). I came up with the idea, directed the design and the features, and tested everything. The character's face comes from an AI-generated clip that was part of the design reference I started from; I didn't draw it.

Challenges we ran into

  • Making sure it isn't a cheating tool. The first version could be gamed by changing an answer and re-checking. Locking answers on submit and limiting a set to two people closed that.
  • A free server that forgets. Render's free plan wipes its disk whenever it goes to sleep, so a set made in the evening could vanish before a friend joined. Moving sets into a key-value store fixed it.
  • AI that can't be tested automatically. Chrome's on-device model doesn't run in automated browsers, so the tests use a stand-in for it.
  • AI maths that changed meaning. The model writes maths in LaTeX. My first clean-up turned 2^{3x} into 2³x, a different equation, and removed dollar signs from word problems.
  • Getting the head to look exact. A rebuilt 3D head didn't look like the original, so I switched to re-posing the real image.

Accomplishments that we're proud of

  • The core promise holds: there is no request you can send that returns your friend's answers.
  • It works end-to-end on the live site, on desktop and on phones, backed by 78 automated tests and a 47-step browser test that plays two real "people" through the whole flow.
  • The AI is private and free, with no API key and no data leaving the device.
  • The practice set works even when the server is asleep.

What we learned

  • Designing against misuse is a feature, not an afterthought. Most important decisions focused on what the site must refuse to do.
  • Agreeing with a friend isn't proof you're right. If you both made the same mistake, nothing gets flagged, so the site says so plainly.
  • Measurements aren't the same as quality. Tests passed while the maths clean-up was quietly changing equations; only reading real output caught it.
  • Free hosting has rules you only discover by reading the fine print or losing data.

What's next for Second Opinion

  • Teacher mode: a class code that shows a teacher which questions the class disagreed on most, without showing anyone's answers.
  • Photo input: snap a worksheet instead of typing answers.
  • More than short answers: units, significant figures, and multi-part questions.
  • AI on more devices: a fallback for phones and browsers that don't have Chrome's built-in model.
  • Groups of three or four, if I can do it without making answers guessable.

Built With

Share this project:

Updates

Submission history