Language Tutor
A speech-only AI language tutor for Android: speak in your target language, hear real-time corrections, and build a learner profile that adapts to your weaknesses over time.
August 2026
- Kotlin
- Jetpack Compose
- Supabase
- OpenAI Whisper
- Anthropic API
- ElevenLabs
Language Tutor has no keyboard and no chat log. You tap the mic and talk in the language you’re learning; the tutor listens, corrects you, and keeps the conversation going out loud. After each session it updates a learner profile with your error patterns, strengths, and vocabulary gaps, so the next session targets what you actually get wrong.
Supports Spanish, French, German, Italian, Portuguese, Japanese, Korean, and Mandarin. In development; the voice loop, tutor persona, and persistent learner profiles are working, and the current work is tuning the tutor over long and repeated sessions.
How a turn works
- You speak, and the app records the audio
- OpenAI Whisper transcribes it
- Claude responds as the tutor, with corrections and conversation
- ElevenLabs turns that response into natural speech
- After the session, an analysis pass updates your learner profile
Engineering
- Native Android in Kotlin with Jetpack Compose, Hilt for dependency injection, and the AudioRecord API and ExoPlayer for the voice loop
- Supabase for the backend: Postgres with row-level security, anonymous sign-in so there’s no login screen, and Edge Functions for the tutor, speech synthesis, and post-session analysis
- The Anthropic and ElevenLabs keys live only in Edge Function secrets and never ship in the app
- Unit tests, instrumented device tests, and a local Supabase stack for testing the functions