Inspiration
There's a well-documented phenomenon in cognitive science called the protégé effect: students who teach material to others significantly outperform those who only study it — with better recall, stronger organization, and deeper understanding. A meta-analysis by Keiichi Kobayashi, a cognitive science researcher, across 39 experiments confirmed that learners who prepare to teach consistently remember more and structure their knowledge more effectively than those preparing for a test. Stanford's AAA Lab (Agents, Actions, and Atoms — a research group studying how people learn through interactive technology) found that students make greater effort and learn more when teaching an agent than when studying for themselves.
The learning stack has three tiers: memorize, practice, and teach. Tools already exist for the first two — Anki, Quizlet, Khan Academy. Nothing existed for the third. No way to practice the most effective form of learning, especially not at midnight the night before your exam.
We're two MIT students who live this problem. We built Dasko because we wanted a study partner that's always available, never judges you, and asks exactly the kind of questions that expose whether you really understand something — or you're just reciting.
What it does
Dasko provides an inverted classroom. You are now the teacher in charge of an AI student — live, out loud, in real-time. You pick a topic, upload your study materials, and start explaining. The student listens, watches your screen and camera, asks questions, pushes back, and sometimes gets things wrong so you have to correct them.
In classroom mode, you teach 2–4 students at once — each with a different personality and voice. They ask different questions, build on each other's ideas, and occasionally disagree with each other. You're not just explaining anymore — you're managing a discussion.
When you're done, Dasko gives you a full reflection: what you explained well, where the students got confused, the questions they asked, and how your presentation skills were. You download it, review it, and teach it again — better.
How we built it
We started with one question: what would it feel like to teach a real student? Not type at a chatbot — actually talk, point at things, draw on a whiteboard, get interrupted.
That led us to the Gemini Live API, which gave us real-time bidirectional audio. From there we layered on vision (camera, screen share, whiteboard), diagram generation, and eventually classroom mode with multiple simultaneous AI students.
The frontend is intentionally simple — vanilla JS, no framework. Every millisecond matters when you're having a live conversation. The backend is TypeScript on Node.js, communicating with the browser over a single WebSocket per session. Deployed on Google Cloud Run with automated builds.
Most of the engineering effort went into making it feel natural — not like talking to an AI, but like teaching a real person.
Challenges we ran into
The hallucination problem. Early on, the AI student would start talking before the teacher said anything — fabricating entire conversations. It turned out the model interpreted ambient noise and video frames as activity and tried to respond. We built a multi-layered gating system to ensure the AI only speaks when it should.
The Cloud Run gap. Everything worked perfectly on localhost. Then we deployed and everything broke in different ways — sessions disconnecting instantly, the student freezing mid-conversation, diagrams silently failing. Each bug was caused by the same theme: assumptions that hold on localhost don't hold in production. We fixed each one, but it taught us that "works on my machine" means nothing.
Making vision actually useful. The AI student technically had vision from the start, but couldn't see anything meaningful — because we were sending it a tiny thumbnail. Once we gave every visual source full resolution and kept frames flowing even during silence, the student could suddenly describe our attire, read whiteboard text, and reference specific parts of a diagram.
The feel. The hardest challenge wasn't technical — it was making the conversation feel real. Getting the interruption timing right so the student stops naturally. Making sure the student doesn't ask questions too fast or too slow. Balancing when the student should push back versus accept an explanation. Every test session teaches us something new about what natural means.
Accomplishments that we're proud of
You can interrupt the AI student mid-sentence and it stops. You can hold up a hand-drawn diagram on a piece of A4 paper to your camera and Dasko will understand your explanations within the context of your drawing. You can switch from English to Spanish to Mandarin in the same session and the student follows. You can teach four students at once and they each have their own perspective.
None of these are gimmicks — they're all things that happen in a real classroom. The fact that they work together, in real-time, in a browser, is what we're most proud of.
What we learned
The protégé effect works on the builders too. We spent the entire hackathon explaining systems to each other — audio pipelines, WebSocket protocols, vision models. Every time one of us explained a subsystem out loud, we found bugs in our own understanding. We were using our own product's principle before the product existed.
We also learned that the gap between a working demo and a working product is enormous. Localhost is forgiving. Production is not. Every assumption gets tested, every race condition surfaces, every silent failure becomes a user-facing bug. The discipline of making something work reliably under real conditions was the biggest technical lesson.
What's next for Dasko
Beyond students, we see Dasko as a tool for actual teachers and professors. Before walking into a lecture hall of 200 students, run the lecture through Dasko first. Test your analogies. See where the AI students get confused. Find the weak spots in your curriculum before real students do. It's a trial run for teaching — whether you're studying for an exam or building a syllabus or just needing to reinforce your learning on any subject whatsoever. We believe this gives Dasko the potential to change the entire education infrastructure.
Built With
- css
- docker
- gemini
- google-cloud
- google-cloud-build
- google-cloud-run
- html
- javascript
- node.js
- typescript
- websocket
Log in or sign up for Devpost to join the conversation.