About koko ai

koko ai is a Korean-learning platform built around the parts of Korean that actually trip up adult learners: pronunciation, particles, honorifics, and the cultural context behind K-pop and K-drama vocabulary. We pair an iOS and Android app with a free, deeply linked dictionary, grammar pillar pages, and a daily blog. Our goal is simple: make the messy parts of Korean less mysterious, and do it without inventing facts about songs, scenes, or grammar rules.

Updated April 29, 2026.

Why we built koko ai

Most Korean apps treat the language like a flashcard pile: memorize 5,000 words and you'll be fluent. In practice, the wall most learners hit isn't vocabulary; it's the four or five grammatical features Korean does very differently from English. Particles (은, 는, 이, 가, 을, 를) decide which noun is the subject and which is the topic. Honorifics decide whether your sentence sounds polite or rude. Sentence-final endings carry the formality register. Hangul itself is the easy part.

We built koko ai to lean into that reality. The app gives instant pronunciation feedback so you can hear when 어 and 오 are different. The dictionary explains when a word is used, not just what it means. The blog uses real K-pop and K-drama examples (verified, never invented) so the cultural context lands with the grammar.

Editorial standards

Korean-learning content on the open web has a quality problem. Romanizations disagree with each other, K-pop lyrics get hallucinated, and "casual vs formal" tables routinely contradict what Koreans actually say. The rules below are the editorial floor for everything we publish.

Our sources

We pull from a small number of well-respected, primary references. The citation file is public to contributors and gets pull requests when an entry needs updating.

How we generate content

We keep the pipeline transparent so readers can judge it for themselves.

  1. Daily blog cron, 23:00 KST. A cron on the editor's MacBook picks one queued topic from data/blog-queue.json, opens a draft session in Claude Code, and writes a JSON file under content/blog/_pending/.
  2. Deterministic validation gate. scripts/blog-validate.py rejects drafts that miss any of: at least five /word/ internal links, a "Common questions" H2 section with three or more H3 questions, contractions allowed by the voice rules, em-dash count under the budget, hero image present, accurate reading time. Failed drafts stay in _pending for revision.
  3. Hero image, budget-capped. scripts/blog-image.py calls Gemini Imagen for a single hero image. A spend log (data/blog-spend-log.json) hard-caps spend at $1/day and $10/month and aborts the run with a GitHub issue if the cap is hit. No text content is ever generated by an external LLM API on this site — text is authored only by Claude Code from this CLI.
  4. Translation pass. A separate batch translates the validated post into 9 locales using Gemini 2.0 Flash. Each translation is keyed to a hash of the source so we don't pay to re-translate unchanged posts.
  5. Publish, sitemap, indexing. The post is committed by izr8809, the sitemap regenerates, and the URL is submitted to the Google Indexing API.

The full pipeline is documented in BLOG_PLAN.md in the open source repository. The validation rules in SEO_GUIDELINES.md and the voice rules in AI_VOICE_GUIDE.md are versioned in the same repo.

Contributors

koko ai's content is written and reviewed by a small group of contributors with mixed Korean-language and Korean-culture backgrounds.

Meet the authors →

Contact

Spotted an error in a translation, a hallucinated K-pop fact, or a grammar example that doesn't match how Koreans actually talk? Tell us. We treat corrections as the highest-priority issue type.

Try Koko AI free

Practice Korean pronunciation with instant feedback. Free to download on iOS and Android.