Passion Project

Inkling: A Gen AI translation plugin for ambiguity and nuance

Co-created a Gen AI translation plugin for long-form reading, combining contextual guidance, model choice, OCR image translation, and inline revision to preserve ambiguity and cultural nuance.

Vibe CodingGen AIMultilingual UXBrowser ExtensionOCR

Role
Co-creator / Product Designer

Timeline
Ongoing

Company
Passion Project

6 international design awardsTowards Data Science Editor’s Pick
Inkling translation guide and bilingual reading experience with xianxia-inspired illustrations

TL;DR

Inkling is a vibe-coded Safari translation plugin I co-created with Eli Hong. It helps people read long-form Chinese fiction by translating webpages and images while preserving terminology, literary context, and cultural nuance. Readers can personalize translation guidance, switch AI models, and revise the result without leaving the text.

A translation problem hidden by fluent output

Chinese and Japanese are high-context languages. Subjects are often omitted, names can have multiple valid translations, and meaning may depend on genre, history, relationships, or regional convention.

Gen AI can produce text that sounds fluent while quietly making the wrong interpretation. It may invent a pronoun, change a character’s name between chapters, flatten a cultural reference, or translate a poetic phrase literally.

For a short message, that mistake is inconvenient. Across a long xianxia or wuxia novel, it breaks continuity and makes the story difficult to trust.

How might we make long-form machine translation consistent and culturally legible without asking readers to become prompt engineers?

From reading need to working product

The project began as a personal Safari extension for translating long-form reading. Rather than waiting for a complete specification, Eli and I built, used, and revised the product around real translation failures.

It became a hands-on exploration of product design through vibe coding: using AI coding tools to shorten the path between an observed problem, a design hypothesis, and something we could test in the browser.

Collaboration

  • Qian (Alex) Wan: product design, translation research, AI evaluation, prompting, UX writing, and front-end implementation.
  • Eli Hong: co-creator and engineering collaborator.

Tools

ChatGPT, Claude Code, Codex, Figma, GitHub, Xcode, and VS Code.

Principle 1: establish context before translating

A generic instruction such as “translate this page” is not enough for literary content. The same phrase may require different treatment depending on genre, tone, character identity, and reader preference.

Inkling starts by asking readers what and how they read: the languages they use, the sites they visit, and the genres whose conventions shape meaning. These preferences become persistent context instead of another prompt readers must reconstruct for every chapter.

Inkling onboarding screens for choosing reading preferences and literary genres

Inkling turns those choices into recommended translation guides and glossaries. Readers can refine the tone, preferred names, terminology, pronoun rules, and genre-specific context once, then apply them consistently across a long work.

Inkling translation guide and glossary setup for culturally specific terminology

Principle 2: translate inside the reading experience

The plugin is designed to reduce the copy-paste loop between a webpage and a separate translation tool.

Readers can begin from a saved work or open a story directly in Safari. Their library remembers reading progress and keeps translated works organized.

Inkling home screen with saved works, reading progress, and direct article entry

Webpage translation and Smart Translate

On a supported page, Inkling removes surrounding clutter and translates the article inside the reading interface. A single tap starts the translation without sending readers through a copy-paste loop.

Smart Translate processes content as the reader moves through a chapter, maintaining a small buffer ahead. This keeps reading fluid while reducing unnecessary model usage compared with translating an entire work upfront.

Inkling translating a Chinese xianxia novel progressively within the browser

Image translation

Some reading material embeds text inside illustrations or screenshots. Inkling uses Google Cloud Vision API for OCR, then sends the extracted content through the selected translation model so image-based text can join the same reading workflow.

This feature is implemented, but its interaction is not shown in the current public award assets.

Principle 3: make difficult passages repairable

Even a strong model can fail on a sentence whose meaning depends on several previous paragraphs. Instead of treating translation as an irreversible output, Inkling keeps correction close to the text.

Switch guidance without leaving the chapter

A reader may want one guide for xianxia terminology and another for a modern or historical passage. Guidance can be changed during reading without restarting the translation session.

Revise word by word

Readers can select a translated phrase, review its source and context, and apply a correction. Approved terminology can be saved back into the guide so future chapters remain consistent.

Inkling inline translation revision flow with terminology correction

Principle 4: avoid locking quality to one model

Translation models differ in quality, latency, price, context limits, and prompt adherence. A model that performs well for one language pair or genre may not be the best choice for another.

Inkling supports integrations across:

  • Gemini
  • Qwen
  • Azure OpenAI
  • Meta models
  • Grok
  • DeepSeek
  • Groq
  • SiliconFlow

Readers can configure language, model, instructions, and reading preferences from one place.

Inkling settings for language, AI model, translation instructions, and reading mode

Researching what “better” translation means

Model choice initially felt like a technical implementation detail. In practice, it became a product-design question: what kinds of errors damage trust, and which ones matter most during long-form reading?

We tested 10 models from 7 providers on Japanese-to-Chinese translation. The evaluation focused on measurable failures connected to high-context language:

  • Incorrect pronouns
  • Unnecessary pronoun additions
  • Untranslated or non-Chinese characters
Baseline comparison of ten Gen AI models for Japanese-to-Chinese translation
With only a basic prompt, every tested model produced visible translation deficiencies.

The baseline results showed that fluent output was not the same as reliable output. We then introduced explicit translation guidance for pronoun handling, terminology, and prompt adherence.

Improved Gen AI model translation scores after applying translation guidance
Structured guidance significantly improved performance across the tested models.

I documented the methodology, limitations, and practical recommendations in Japanese-Chinese Translation with GenAI: What Works and What Doesn’t, published as a Towards Data Science Editor’s Pick.

Illustration for the Towards Data Science article about Japanese-Chinese Gen AI translation

Recognition

Inkling received six international design awards.

Indigo Design Award 2026

  • Gold — Apps for Social Change
  • Gold — Digital Tools and Utilities for Digital Design
  • Silver — UX, Interface & Navigation for Digital Design
  • Silver — Apps for Digital Design

What this project taught me

Vibe coding made it possible to move quickly from translation research to a functioning product, but speed did not remove the need for product judgment. The difficult work was deciding what should remain automatic and where readers needed control.

Inkling treats translation as an interpretation that can be guided, inspected, and corrected. The goal is not to pretend ambiguity has disappeared. It is to give readers enough context and agency to move through it with confidence.