All work

Agentic AI localization · Live on this site

Two new languages in two hours

Spanish + French, checked by native speakers

Try it:ESFR

Context

Every word on this site lives in one content file. Components only read from it. That decision was made for easy edits, but it also made something else possible: translating the whole site without touching a single page layout.

The question

Could agents localize a real, content-heavy site (case studies, a newsletter, an events calendar, a savings calculator) in an afternoon, at a quality a native speaker would sign off on? Translation alone is the easy part. The hard part is trust: catching the subtle errors a single model misses, and keeping three languages in sync as the site keeps changing.

My role

Product owner and orchestrator. I set the rules (proper nouns stay English, no em dashes, numbers labeled as team results stay labeled), designed the review loop, decided what stays English on purpose, and owned the final call with native-speaker reviewers.

What I built

Two agents, one job each. A translation agent produces the Spanish and French copy. A validator subagent then checks that work against the English source, looking for meaning drift, tone, and broken rules, and the build fails if any language is missing a single string. Then native speakers read it on the live preview.

  1. 1TranslateOne translation agent
  2. 2ReviewA validator subagent checks it
    Checks SpanishChecks French
  3. 3ValidateBuild fails on any missing string
  4. 4Human reviewNative speakers sign off
The validator subagent never translates. It only checks the translation agent's work.

Results

2 languages
Spanish and French, every page
~2 hrs
From plan to working site
2 agents
Translate and validate
Native-speaker approved
Read on the live preview

What I learned

  • Separate the maker from the checker. A model reviewing its own translation agrees with itself. A validator subagent with a different job catches what the translator smoothed over.
  • Structure beats prompting. Keeping every word in one content file did more for quality than any prompt. The type check turns a missing translation into a build error, never a silent gap.
  • Humans still own the last mile. Agents got it close fast. Native speakers caught the phrasing that was correct but not natural, and that is what makes a site feel local.

What it isn't (yet)

  • Not automatic. New copy still needs a translation pass when I edit the English.
  • Not every file. The resume PDF and calendar downloads stay in English on purpose.
  • Not a product yet. It's a repeatable agentic process that ran on one site, and the same pipeline could just as easily become an internal tool for any content team, or an external product for anyone who needs a site localized.
Next case study
Vibe coding with product discipline
Process OS