Inspiration
I have frequently used the Feynman technique for studying. I want to take this method to the next level by teaching others—specifically students—with the help of AI. I feel this could help a lot of people, especially my friends. By the way, I’m still in high school, and I hope this project can make a real impact and be beneficial.
What it does
Lurnexa — Learn by Teaching AI Pupils. You explain a topic to three AI Pupils who don't understand it yet. Their confusion shows where your explanation broke down.
- Upload a Source (answer key). Lurnexa extracts atomic Points once at session start.
- Each Pupil holds at most one Misconception. They never correct you.
- Each turn you teach → one Pupil plays exactly one Move over SSE: ask-for-clarification, state-misconception, attempt-restatement, ask-for-example, concede-understanding.
- Explicit Grasp state tracks every Point (unexplained / explained / explained-badly) + Misconception (held / corrected).
- On close, the Report renders which Points you skipped and the verbatim moment each went wrong.
- Works offline on deterministic fallback; live with Gemini. Browser voices, hold-to-talk voice input, and local PDF extraction work with no key.
How we built it
Next.js 16 + React 19 on Vercel. One HTTP POST per Learner utterance (app/api/session/turn), server streams one Pupil Move back over SSE then closes. Client is source-of-truth between turns + localStorage persistence.
Pure domain seams, all covered without network: director.ts (deterministic speaker choice), grasp.ts (Grasp reducer), report.ts (Report as pure render), provider.ts (one-file Gemini seam, pinned gemini-3.5-flash-lite, per-turn token caps). Session caps via Upstash Redis, fail-open to in-memory locally. 128 Vitest tests, typecheck clean.
Challenges we ran into
Keeping Pupils authentically confused without being dumb; making Grasp explicit state instead of vibes; bounding cost (220 output tokens/turn, 12k input chars); degrading gracefully — speech failure leaves text, quota failure falls back to static demo Session.
Accomplishments that we're proud of
Deterministic offline loop + live AI on the same code path, verbatim Report grounding, zero-bill voices/PDF/voice-input, production deploy handling real judging traffic.
What we learned
Teach-backs expose gaps faster than quizzes. Explicit understanding-state beats LLM impression.
What's next for Lurnexa — Learn by Teaching AI Pupils
Multi-Source sessions, classroom mode, spaced re-teach from Report Gaps.
Built With
- gemini
- groq
- nextjs
- pdfjs
- react
- sse
- tailwind-css
- typescript
- upstash-redis
- vercel
- vitest
- web-speech-api
Log in or sign up for Devpost to join the conversation.