English Time
A real-time voice app where an animated character teaches a six-year-old to speak English, drops into her mother tongue when she is stuck, shows flashcards, awards stars, and remembers past days.
- 60-day streak, 250+ words
- Outcome
- EdTech
- Service
The context
The brief was unusually human: teach one six-year-old Urdu speaker to speak English through a daily, roughly 30-minute live conversation with a friendly character, the way a patient tutor would, adapting to her age and mood, not a gamified drill app.
What we were solving
A young child needs a genuine spoken back-and-forth, not tap-the-answer exercises, which means low-latency speech in and speech out.
When she gets stuck, the tutor has to explain in Urdu and then guide her back into English, mid-conversation.
Learning only sticks with continuity: the tutor must remember earlier days, follow up, and schedule vocabulary review.
How we built it
Built a single Next.js app that runs the 'call': mic capture with voice-activity detection, an animated character that lip-syncs to the reply, and on-screen flashcards, pictures and stars.
Had the language model reply with structured JSON describing both what to say and what to show, so the agent genuinely drives the lesson: pick a flashcard, quiz a word, award a star, clear the screen for free chat.
Layered spaced repetition to schedule word reviews, and folded an end-of-session summary into a long-term profile for cross-day memory.
Kept it self-hostable on a single VPS so a family can actually run it.
Why it holds up
Feels like a real conversation
Speech in, speech out, with no noticeable lag, so a six-year-old just talks instead of tapping through menus.
Picks up where it left off
The tutor remembers past sessions and schedules review, so learning compounds day to day instead of resetting every time.
Simple enough to actually run
It's self-hosted on one machine, no complicated infrastructure a family would need help maintaining.
Key features
- Live spoken conversation with an animated, lip-syncing character
- Bilingual teaching: explains in Urdu, guides back into English
- Structured lesson actions: flashcards, pictures, stars, free chat
- Gentle correction by recasting, tuned to a child's age
- Spaced-repetition vocabulary review
- Cross-day memory: remembers and follows up on previous sessions
- Runs privately and self-hosted for one family
The outcome
The number that matters here is the streak. Sixty consecutive days is not something you can make a six-year-old do; she keeps coming back because it feels like talking to someone rather than being tested. More than 250 words have stuck, scheduled and re-tested by the spaced-repetition layer rather than crammed.