Coach
A browser-native corporate coach. 3D avatar, emotion-aware voice, persistent memory.
- Role
- Solo build (frontend, AI, real-time)
- Year
- 2025
- Practice
- Data
At a glance
- Starting point
- Make AI coaching feel personal, emotionally aware, and genuinely helpful, like talking to a real coach, not a chatbot.
- What we built
- A browser-native corporate coach. 3D avatar, emotion-aware voice, persistent memory.
- Stack
- Next.js + TypeScript, Three.js, OpenAI + Gemini, ElevenLabs, Vercel
AI coaching that actually feels human. Real-time 3D avatars, emotion-aware speech, persistent memory, all in the browser.
The goal
Make AI coaching feel personal, emotionally aware, and genuinely helpful, like talking to a real coach, not a chatbot.
What it does
- Real-time conversational AI grounded in structured coaching frameworks (questioning, reflection, goal-oriented follow-ups).
- Two interactive 3D avatars rendered in Three.js with synchronized lip-sync, gestures, and micro-expressions.
- Emotion-aware text-to-speech (calm, motivating, assertive, reflective) with carefully tuned pacing and emphasis.
- Browser-native voice loop: VAD for natural interruptions, real-time STT, immediate TTS, no page reloads, mobile-compatible.
- Persistent memory: the coach remembers goals, struggles, and prior conversations across sessions.
- Gamified progress dashboard tracking skill development, milestones, and engagement consistency.
Hardest problem
Synchronizing emotion, speech, and animation. Custom timing pipelines align phonemes, emotional cues, and animation frames so peaks match. Edge deployment via Vercel keeps voice round-trip latency low enough to feel like a real conversation.
Stack
- FRAMEWORK: Next.js + TypeScript
- 3D: Three.js
- AI: OpenAI + Gemini
- TTS: ElevenLabs
- DEPLOY: Vercel (edge)




