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 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.
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.
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.
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.
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.
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
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.
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.
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
Vega Digital Awards 2026
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.