Learn Spanishby talking,not tapping.
A real-time conversational tutor. Put your phone down. Speak. The agent teaches lessons, runs quizzes, roleplays cafés in Madrid, and answers your doubts mid-sentence — all by voice.
Click the orb. Talk.
Mic permission needed. Headphones recommended (kills bot-echo feedback). All processing local except STT / LLM / TTS calls.
Try saying
Live Transcript
Built for the parts
that actually matter.
Every feature was picked against the assignment's evaluation matrix — system design, voice UX, pedagogy, reliability, observability — with the bonus stretch goals layered on top.
Real barge-in
Silero VAD + Pipecat interruption frames cut bot mid-word in <250 ms. Talk over it freely.
Sub-1-second response
P50 end-to-end ~880 ms on free-tier providers. AssemblyAI streaming → Groq → ElevenLabs Turbo.
Structured teaching
FSM-enforced lesson flow: objective → explain → example → practice → check. No rambling.
Semantic quiz grading
Paraphrases accepted. Two-tier: deterministic Jaccard first, LLM only for ambiguous middle.
Doubt resume
Mid-lesson "wait, why is it me llamo?" → answers in English, returns exactly where you left off.
FSRS-lite scheduling
Each quiz answer feeds spaced-repetition. Weak words come back tomorrow, mastered ones in a week.
Prosody engagement
Real-time RMS + pace + pause analysis. Bot detects when you sound tired and slows down.
Phoneme-aware feedback
Not "good job" — specific tips like "the rr in perro is rolled, try humming and tapping".
Per-turn observability
Every turn logs STT / LLM / TTS / total latency to JSONL. Answer 'why did turn 14 take 2.3s'.
Multi-persona handoff
Teacher / Examiner / Companion — same LLM, three styles, switched by FSM mode.
Six hand-authored lessons.
A1 to A2.
Hand-authored over LLM-generated so a reviewer can spot-check grammar. Adding a seventh lesson is a JSON edit — no rebuild.
Greetings & Introductions
Greet, introduce, ask how someone is.
Numbers 1 to 20
Count and use numbers in phrases.
Ordering Food
Order politely, ask for the bill.
Family Members
Talk about parents, siblings, relatives.
Days of the Week & Time
Name days, tell time at the hour.
Asking for Directions
Ask where places are, understand directions.