Inspiration
Ask most students how they revise and they'll tell you the same thing: they read it again. And again. The research is brutal about this — Karpicke, Butler & Roediger (2009) found 84% of students re-read to study, but only 11% ever test themselves — and re-reading is one of the least effective things you can do.
Now stack the deck. 1 in 10 people in the UK are dyslexic. Over 549,000 people in England are waiting right now for an ADHD assessment, and only about 1 in 9 people with ADHD have a diagnosis on record. For them, a standard wall of homework text isn't just boring — it's a wall.
We wanted to build one thing that fixes both problems at once: reshape the material to how a student's mind actually works, and then get them off the least effective study method and onto the most effective one — teaching.
What it does
Adapt is a Gemini-powered study companion built on one idea: you don't read it again — you teach it once.
- Pick your profile — Dyslexia-friendly, ADHD Focus, or Classic. One choice re-themes the entire app: fonts (Lexend / OpenDyslexic), colour, contrast, spacing, pacing — and how the AI talks to you.
- Reader — paste any dense text and Gemini re-chunks it into short, plain, self-contained pieces, keeping 100% of the facts, with adjustable emphasis and high-contrast options.
- Explain — get the same idea as an analogy, a story, or step-by-step. (Modes, not "learning styles" — we're careful about the science.)
- Teach it Back (the headline) — you teach Gem, a curious AI classmate who knows nothing. Gem never lectures; it asks one specific question at a time. When you're done, a strict, schema-enforced gap analysis gives you an understanding score, what you nailed, the exact gaps you missed (with a hint in Gem's voice), follow-up questions, and a cleaner rewrite.
The magic trick: teach Gem photosynthesis but never say chlorophyll, and Adapt finds precisely that gap — the thing you didn't know you'd left out. Re-reading would never have caught it. Teaching did, in about ten seconds.
How we built it
- Frontend: a fast, dependency-free single-page app (vanilla JS + a hand-built design system), profile-driven theming via CSS variables, animated SVG score ring, Web-Speech-free voice.
- Backend: a tiny zero-dependency Node proxy. The Gemini key lives server-side only — it never touches the browser.
- Gemini:
gemini-3.5-flashwith strictresponseSchemastructured JSON on every route — the gap analysis is a schema, not a prompt we beg for text from. The Teach-it-Back engine is a two-phase design: Phase 1 keeps "Gem" in character as a confused peer; Phase 2 is a rigorous analyzer that grades honestly against the source. - Voice: we record audio and transcribe it through Gemini (see Challenges) → text → the teach-back pipeline.
- Demo-safety: a circuit breaker + per-route cached fallbacks mean the app never shows an error on stage, even if the wifi or API dies — and it self-heals to live the moment the connection returns.
The engineering story is the profile object: one structure drives the interface and the model's prompt. That's the part that makes Adapt an engineered product, not a prompt box.
Challenges we ran into
- A Gemini project stuck at zero quota. Our first key returned
429even when completely idle — the project's per-minute quota was a hard0. We learned the hard way that rate limits are per-project, not per-key, spun up a fresh billed project, and it came alive. - Voice kept breaking on the venue network. The browser's Web Speech API needs Google's speech servers, which VPNs and filtered networks block — it kept throwing "network unreachable." So we ripped it out and rebuilt voice as record → Gemini audio transcription, using the same key that aives any network.
- "Dead" buttons that weren't dead. Real-click testing (headless Chrome, actual mouse events) caught bugs our first synthetic tests hid — a Send tap during an in-flight turn was silently dropped. We made every busy state visible.
- Staying on the right side of the science. We deliberately don't call emphasis "Bionic Reading" (a trademark with no proven benefit), we frame explanation modes not "learning styles" (contested), and we're honest that dyslexia-font evidence is mixed — so we offer the choice rather than
Accomplishments that we're proud of
- The "you teach the AI" inversion — a genuinely different framing that demos with a
- A live gap-finder that surfaces the exact concept you skipped, backed by structured JSON — not a vague "add more detail."
- An app that is demo-proof: it works on localhost, on a phone via QR, and even fully
- Accessibility treated as engineering: WCAG-minded focus states, reduced-motion, 48px targets, one profile object doing real work.
What we learned
- Teaching is one of the most evidence-backed ways to learn. Fiorella & Mayer (2013) found actually teaching produces a delayed-test effect of d = 0.56 versus d = 0.22 for merely preparing to teach — more than double. Vanderbilt & Stanford have shown the same "teachable agent" effect sinc the idea; we built the tool that lets any student do it alone, at 2am.
- Structured output changes everything. Forcing Gemini to fill a schema turned "an AI that talks about your answer" into "an AI that reliably returns a score, gaps, and a next question" you can build a UI on.
- Build for the demo, not just the ideal. Fallbacks, circuit breakers, and real-click testing were what actually made it survive contact with a hackathon network.
What's next for Adapt
- Dyscalculia support — a genuinely under-served gap (~6% of people), visualising quantities and breaking arithmetic into concrete steps.
- Live voice tutoring with the Gemini Live API for real-time back-and-forth.
- Spell-it-back and handwriting input for younger learners.
- Honest roadmap note: full sign-language generation is still an open research problehan fake it.
Two notes for the Devpost form:
- "Built with" is usually a separate tags field on Devpost — put these there: gemini, google-gemini-api, node.js, javascript, css, html, web-audio-api, claude.
- Keep the AI-credit line somewhere (MLH requires it): "Built during LeafHacks '26 with C; Gemini is the reasoning engine, the accessibility engineering is ours."
Built With
- api
- claude
- gemini
- javascript
Log in or sign up for Devpost to join the conversation.