โ† agent army
๐Ÿช”
HINGLISH VINGLISH

Guru Ji

A Hindi speaking coach that listens, scores, and adapts.

Hindi AI learning coach inside Hinglish Vinglish. Listens to your speech, scores accent + grammar in real time, and adapts the next lesson to where you're getting stuck.

// architecture

Everything runs in Firebase Cloud Functions behind the Flutter app. Recorded speech is uploaded to a transcribe function that calls OpenAI Whisper (primed for Devanagari) and returns the text. A second function scores pronunciation by sending the target phrase and the transcription to GPT with a phonetic-comparison prompt. A chat function drives the conversational tutoring off the learner's own history, and a text-to-speech function voices replies with Google Cloud TTS. Which model each call uses is routed at runtime via Firebase Remote Config.

learner speechโ†’transcribe (Whisper)โ†’score (GPT phonetic)โ†’score + feedbackโ†’chat tutor + TTS reply

// how it works

  1. 1

    Transcribe

    Recorded speech is uploaded to a Cloud Function that runs OpenAI Whisper (whisper-1), primed for Devanagari, and returns the transcription.

  2. 2

    Score pronunciation

    A second function sends the target phrase and the transcription to GPT with a phonetic-comparison prompt and returns a 0โ€“100 score, an is-correct flag, and specific feedback โ€” with a guard against Whisper hallucinating on silence.

  3. 3

    Coach in conversation

    A chat function builds a system prompt from the learner's own history and returns typed responses โ€” text, vocab cards, quizzes, quick replies โ€” keeping quizzes strictly to vocabulary they've actually met.

  4. 4

    Adapt the next step

    It tracks words learned and where the learner keeps slipping, steers the next lesson at those weak spots, and nudges them to expand when they're stuck repeating themselves.

  5. 5

    Say it back

    Replies are voiced by a text-to-speech function via Google Cloud TTS, so the learner hears the correct pronunciation instead of just reading it.

// tool calls

  • transcribeAudio()Cloud Function โ†’ OpenAI Whisper (whisper-1, hi) โ†’ Devanagari transcription
  • analyzePronunciation()GPT phonetic comparison โ†’ { score 0โ€“100, is_correct, feedback }
  • guruJi()GPT chat โ†’ typed responses (text / vocab card / quiz / quick replies)
  • textToSpeech()Google Cloud TTS โ†’ spoken reply
  • pickModel() + Remote Configroutes which model each call uses without a redeploy

// feedback

Guru Ji:Close! You said 'main jaata hoon' โ€” for a woman it's 'main jaati hoon'.
pronunciation: 82 / 100 ยท the 'j' was a touch soft
next up: gender-agreement drills

// stack

FlutterFirebase Cloud Functions (TS)OpenAI WhisperGPT-4o-mini / 4.1-miniGoogle Cloud TTSRemote Config

// infrastructure

  • โ–ธApp: Flutter
  • โ–ธBackend: Firebase Cloud Functions (Node/TS)
  • โ–ธSTT: OpenAI Whisper
  • โ–ธScoring + chat: OpenAI GPT (routed via Remote Config)
  • โ–ธTTS: Google Cloud

// why it exists

You can't learn to speak a language by reading. Guru Ji gives the one thing most apps can't โ€” honest, specific feedback on how you actually sound.

โ† back to all agents// part of the agent army