I was writing to my girlfriend in Farsi — her first language — trying to say I'd missed her. Google Translate gave me one option. It was technically correct and read like a government form.
The problem isn't accuracy. Literal translation tools are accurate. The problem is they flatten everything. You get one answer, no signal on register, no sense of whether it's something a person would actually say to someone they love versus something they'd say in a deposition.
So I built konid. For any phrase you want to express, it returns three versions — casual to formal — with an explanation of the register difference and cultural context on why the options diverge. It also plays audio pronunciation through your speakers via node-edge-tts, so you're not guessing at the sounds.
A query for 'I missed you today' in Japanese doesn't just return 会いたかった. It returns three options across registers, explains that the most casual form is what you'd say to a close partner versus what reads as stiff or distant, and notes where the emotional weight sits differently than the English phrasing implies.
Context that actually matters if you're trying to say something tender and mean it.
konid supports 13+ languages: Mandarin, Japanese, Korean, Spanish, French, German, Portuguese, Italian, Russian, Arabic, Hindi, and others. It runs as an MCP server — one command installs it into Claude Code, Cursor, VS Code Copilot, Windsurf, Zed, JetBrains, or Claude Cowork:
claude mcp add konid-ai -- npx -y konid-ai
Also works as a ChatGPT app via Developer mode with the endpoint https://konid.fly.dev/mcp — no API key needed for audio.
MIT licensed.
github.com/robertnowell/konid-language-learning
Top comments (0)