I wanted to tell my girlfriend 'I missed you today' in Farsi. Google Translate gave me a literal answer. It was technically accurate and sounded like a phrasebook — the kind of thing you'd read off a card at customs, not say to someone you care about.
That's what I built konid to fix. It returns 3 options per query, ordered casual to formal, with the register explained and cultural context on why you'd choose one over another. For 'I missed you today' in Farsi, those three options are meaningfully different: one you'd text, one you'd say out loud, one that would sound strangely formal from a partner.
The audio piece matters more than I expected. konid plays pronunciation through your speakers using node-edge-tts — no API key, no external service. Hearing the tone contour and vowel length on the formal register versus the casual one changes what you actually retain. You can read a transliteration a hundred times and still mispronounce it on the first try; hearing it once at the right cadence is different.
The nuance notes are the other thing that's hard to get elsewhere. For languages like Japanese or Korean where register is structural — built into verb endings, not just word choice — knowing why one phrasing is softer or more distant is the actual lesson. konid surfaces that comparison between the 3 options, not just the translations themselves.
Supports 13+ languages: Mandarin, Japanese, Korean, Spanish, French, German, Portuguese, Italian, Russian, Arabic, Hindi, and others. Runs as an MCP server in Claude Code, Cursor, VS Code Copilot, Windsurf, Zed, JetBrains, and Claude Cowork. Also installs as a ChatGPT app via Developer mode at https://konid.fly.dev/mcp.
claude mcp add konid-ai -- npx -y konid-ai
MIT licensed. github.com/robertnowell/konid-language-learning
Top comments (0)