Inspiration
Students are always told that one of the best ways to truly understand something is to explain it to someone else. The idea is that if you can teach it, you probably understand it.
But in reality, most students end up explaining concepts to friends who are at the same level, or just talking out loud to themselves. And when that happens, there’s no one there to correct mistakes right when they happen. If you misunderstand something, you might keep reinforcing the wrong idea without realizing it.
That’s what led me to build EchoLearn - something that feels like explaining your work to someone who actually knows more than you. EchoLearn can stop you, correct you, and guide you back on track in real time. I also wanted it to make studying feel less isolating and more interactive, especially during stressful exam periods.
What it does
EchoLearn is a real-time AI speaking tutor that helps students practice explaining concepts out loud instead of just rereading notes. Students can paste in their notes or study material, then verbally explain what they understand. While they’re speaking, the AI listens, checks accuracy, and gives feedback instantly. If they go off track, the tutor can interrupt and explain the mistake before letting them continue. The goal is to turn studying into something active, where students are forced to think, explain, and correct themselves - not just memorize.
How I built it
I built EchoLearn as a full-stack AI web app using Next.js, React, TypeScript, and Tailwind. The app uses browser speech recognition to capture live explanations and stream transcripts in real time. I used the Gemini API to evaluate student explanations as they speak and the ElevenLabs API to generate natural-sounding voice feedback. I also built logic to handle real-time interruption, transcript chunk checking, and structured AI responses so feedback stayed consistent and reliable. I focused heavily on making the experience feel smooth and conversational instead of delayed or robotic.
Challenges I ran into
One big challenge was handling real-time speech. Speech recognition isn’t perfect, and small transcript errors can affect AI evaluation. Another challenge was deciding when the AI should interrupt. If it interrupts too fast, it feels annoying. If it waits too long, the student might go too far off track. I also had to manage API rate limits while still keeping feedback fast enough to feel live.
Accomplishments that I’m proud of
I’m proud that I built a real-time voice tutoring experience end-to-end. I successfully combined live speech input, AI evaluation, and AI voice output into one continuous loop. I also built an interface that feels engaging and calming instead of intimidating, which is important for learning tools. Most importantly, I built something that actually changes how students study, not just another note summarizer.
What I learned
I learned how to work with real-time voice AI systems and how complex they are compared to normal web apps. This was also my first time using the ElevenLabs API, so I learned how to generate voice from text dynamically and make it sound natural in a live conversation setting. I also learned how to use the Gemini API to evaluate explanations and how important it is to structure prompts and responses so the AI stays consistent. In addition, I got better at debugging speech recognition errors and handling edge cases where transcripts weren’t perfect.
What's next for EchoLearn
Next, I want to make EchoLearn more personalized and more fun to use.
I hope to add features like:
- Letting users choose and customize their own tutor avatars
- Tracking learning progress over time
- Adapting difficulty based on how the student performs
- Supporting multiple languages
Long term, I’d love to expand this into something classrooms and teachers could use, not just individual students.
Built With
- elevenlabsapi
- geminiapi
- next.js
- react
- tailwindcss
- typescript
- webspeechapi
Log in or sign up for Devpost to join the conversation.