All case studies
Independent · 2025
Learner
Real-time voice AI tutors you can talk to, built end to end.

The project
An independent product: users create voice “companions” (AI tutors) for any subject and run live teaching sessions with them.
- Role
- Design, build and deploy · independent
- Stack
- Next.js 15
- React 19
- Vapi
- Clerk
- Supabase
- Tailwind 4
The problem
Tutoring is a conversation, not a chat box. The product had to hold a real-time voice session together across speech recognition, a language model and speech synthesis, and still feel like a normal web app.
What I did
- Built on Next.js 15’s App Router with Server Components and Server Actions, on React 19.
- Real-time voice through Vapi over WebRTC: Deepgram Nova-3 for speech-to-text, GPT-4 for the conversation, ElevenLabs for the voice.
- Clerk for authentication and subscriptions (free users get three companions, Pro is unlimited), Supabase Postgres for companions, session history and bookmarks.
- Designed for failure: production error handling and graceful degradation when a voice service drops.
What changed
A live product: anyone can build a companion for a subject, search a shared library, hold a voice lesson with a transcript, and pick up their history later.
