Hackathons
Dasko
GenAI Zürich Hackathon · April 2026 · Overall Winner ($6,300)
A real-time multimodal classroom where you learn by teaching: you explain a topic by voice and whiteboard to AI students who listen, watch, ask questions, and push back.
- TypeScript
- Node.js
- WebSockets
- Gemini Live API
- Docker
- Google Cloud Run
Inspiration
Cognitive science has a name for this: the protégé effect. Students who teach material to others recall it better and organize it more deeply than students who only study it — a meta-analysis of 39 experiments by researcher Keiichi Kobayashi confirmed it, and Stanford's AAA Lab found people try harder and learn more when teaching an agent than when studying alone.
The learning stack has three tiers — memorize, practice, teach. Tools exist for the first two (Anki, Quizlet, Khan Academy); nothing existed for the third. We're two MIT students who live this problem, so we built the study partner we wanted: one that's always available, never judges you, and asks exactly the questions that expose whether you actually understand something.
What it does
- An inverted classroom: you're the teacher. Upload your study materials, pick a topic, and start explaining out loud — the AI student listens, watches your screen and camera, asks questions, pushes back, and sometimes gets things wrong so you have to correct it.
- Classroom mode teaches 2–4 students at once, each with a distinct personality and voice — they build on each other's questions and occasionally disagree with each other, so you're managing a discussion, not just explaining to one listener.
- A live coaching panel flags more than delivery — if you're ten minutes into photosynthesis and never mention the Calvin cycle, Dasko catches the gap before the session ends.
- You can pivot topics mid-session in one click; the student acknowledges the switch and engages with the new subject immediately, no restarting or re-uploading materials.
- A closing reflection covers what you explained well, where the students got confused, what they asked, and how your delivery was — so you can teach it again, better.
How it's built
- Gemini Live API for real-time, bidirectional audio and vision — the foundation the whole experience is built around.
- Vanilla JavaScript frontend, deliberately framework-free, since every millisecond matters in a live conversation.
- TypeScript on Node.js for the backend, talking to the browser over a single WebSocket per session.
- Gemini 2.5 Flash (native audio) runs the live student; Gemini 2.0 Flash handles diagram generation, material extraction, and reflections.
- Deployed on Google Cloud Run with automated builds.
Challenges we ran into
- Hallucinated conversations: early on, the AI student would start talking before we said anything, mistaking ambient noise and video frames for activity. We built a multi-layered gating system so it only speaks when it should.
- The Cloud Run gap: everything worked on localhost, then broke in new ways in production — sessions disconnecting, the student freezing mid-conversation, diagrams silently failing. Different bugs, same lesson: "works on my machine" means nothing.
- Vision that was technically on but not actually useful — we were sending tiny thumbnails. Sending every visual source at full resolution, even during silence, is what let the student read whiteboard text and reference specific parts of a diagram.
- The feel: getting interruption timing right, pacing questions naturally, and deciding when the student should push back versus accept an explanation — the hardest problem was never technical.
Accomplishments we're proud of
- You can interrupt the AI student mid-sentence and it stops.
- Hold a hand-drawn diagram up to your camera and Dasko understands your explanation in the context of the drawing.
- Switch between English, Spanish, and Mandarin in the same session and the student follows.
- Teach four students at once, each with its own perspective.
- Switch topics mid-session and the student responds with genuine curiosity, not a robotic acknowledgment — the pivot is injected as live context, not a system reset.
What we learned
The protégé effect worked on us too — every time we explained a subsystem out loud to each other, we found bugs in our own understanding. And the gap between a working demo and a working product is enormous: localhost is forgiving, production is not.
What's next
Beyond students, we see Dasko as a rehearsal tool for teachers: run a lecture through it before walking into a hall of 200 students, test your analogies, and find the weak spots in a syllabus before real students do.
Won the overall grand prize at the GenAI Zürich Hackathon 2026.