DEV Community

J Now
J Now

Posted on

Every work email I translated was a missed lesson

Six months into learning Japanese well enough to handle vendor emails, I noticed I'd translated the same polite refusal phrase four times without retaining it once. Google Translate gave me one answer, I pasted it in, moved on. Nothing stuck.

The problem isn't the translation itself — it's that a single output teaches you nothing about why that phrasing works, what register you're operating in, or what a more casual version would sound like if you were writing to someone you actually knew.

So I built konid as an MCP server. Every query returns three options ordered casual to formal, with the register explained and a cultural context note comparing them. For that refusal phrase, I got the stiff keigo version appropriate for a new vendor, a warmer alternative for someone I'd worked with for months, and a note on why mixing the two registers in the same email would read as odd to a native speaker.

Over enough work emails, that becomes a real learning loop instead of a copy-paste utility.

claude mcp add konid-ai -- npx -y konid-ai
Enter fullscreen mode Exit fullscreen mode

It runs inside 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. Audio pronunciation plays directly through speakers via node-edge-tts — no external API key.

Supports 13+ languages: Mandarin, Japanese, Korean, Spanish, French, German, Portuguese, Italian, Russian, Arabic, Hindi, and more.

https://github.com/robertnowell/konid-language-learning

Top comments (0)