What if an AI tutor didn't immediately give students the answer?
What if, instead, it encouraged them to think first, explain their reasoning, and discover the answer through conversation?
That question led me to build ThinkShiftAI — a voice-first AI learning companion for students, built for the Agora Voice AI Hackathon.
The core idea:
Ask → Think → Talk → Discover
not:
❌ Ask → Answer
🎯 Why I Built It
When a student gets stuck, the easiest thing for an AI to do is hand over the solution. But getting the answer isn't the same as understanding the concept.
Say a student points at a math problem and asks "can you help me solve this?" Instead of dumping the full solution, ThinkShiftAI nudges with questions like:
- What do you already know?
- Which part is confusing?
- What would you try first?
- Why do you think that approach works?
The goal isn't to make the student struggle — it's to create a small, useful pause between asking and receiving.
🎙️ Why Voice
Learning doesn't have to happen through typing. A student can just say "I don't understand this step" and keep going — no retyping, no re-reading a wall of text. It feels closer to talking with a tutor than querying a chatbot.
The voice layer runs on Agora Conversational AI; the app itself is Flutter.
🧩 How It Works
Student
↓ speaks a question
Voice AI (Agora RTC)
↓
AI understands the question
↓
ThinkShift reasoning
↓
Guiding question / explanation
↓
Student responds → conversation continues
Not Question → Answer. Instead:
Question → Understand → Guide → Student thinks → Student responds → Discover
🛠️ Tech Stack
| Layer | Tech |
|---|---|
| Mobile | Flutter (Dart), Android |
| Voice | Agora RTC + Agora Conversational AI |
| STT | Deepgram nova-3
|
| LLM | OpenAI gpt-4o-mini, prompted for the "one guiding question, never a quiz" rule |
| TTS | MiniMax speech-2.8-turbo
|
| Backend | Python, Flask |
Kept the architecture simple on purpose — simple enough to demo cleanly, but real enough to show how a modern voice-AI pipeline actually connects together.
🧠 The Interesting Problem: Don't Let the Tutor Become Annoying
If the AI keeps firing back "what do you think?" to every single message, the conversation turns frustrating fast. So the tutor has to balance:
Guidance ↔ Explanation
Sometimes the student needs a hint. Sometimes an example. Sometimes they just need the answer explained plainly. Getting that balance right — mostly through prompt design and keeping responses to 1–3 sentences with at most one guiding question — turned out to be one of the more interesting product problems, not a modeling problem.
👩🎓 A Sample Interaction
Student: "I don't know how to start this problem."
ThinkShift: "What information do you already have?"
Student: "We know the distance and time."
ThinkShift: "Great — if you know distance and time, which formula connects those two?"
The student is still doing the thinking. The AI acts like a learning companion, not an answer machine.
📷 Camera + Voice
The newest piece I've shipped: a student can point their phone at a handwritten problem, and ThinkShift talks about it — no typing, no switching screens.
Here's how it works under the hood:
- Student snaps a photo of the problem.
- A vision model (I went with Gemini's free tier here, since it handles image understanding well without needing a paid key) produces a short description of what's on the page — without solving it.
- That description gets injected into the already-running voice session via Agora's
thinkendpoint, so the same agent that's been talking to the student responds naturally, in the same voice, in the same conversation — no separate UI, no context switch. - The agent reacts the way it would to anything else the student says: one guiding question, not the answer.
The nice part is the architecture: instead of bolting on a separate "photo analysis" screen, the photo just becomes another turn in the same conversation. The student never leaves the voice experience — they show ThinkShift something, and it responds out loud, like they would to a person sitting next to them.
Next up on the roadmap: multilingual support (Hindi, Marathi), subject-specific tutoring modes, adaptive difficulty, and a simple student progress view.
🚀 What I Learned
Building this pushed me to think past "connect an LLM to a chat screen." A good AI product also has to reason about:
- How the conversation should flow
- When to explain vs. when to ask
- How much guidance is the right amount
- How voice changes the interaction entirely
- How to keep it feeling natural, not scripted
The model is one part of the product. Interaction design is the other, bigger part.
🔗 Try It
🎥 Demo: Watch on YouTube
💻 GitHub: ThinkShiftAI-Voice-First-Conversational-Learning
Built for the Agora Voice AI Hackathon, powered by Agora Conversational AI.
I'd love to hear how you'd design a voice-first AI tutor — would you make it answer immediately, or make it guide the student first?
#AI #VoiceAI #Flutter #EdTech #ConversationalAI #Agora #GenerativeAI #Learning
Top comments (0)