Keeping copy consistent across micro‑frontends with a little governance (2025)
Background
As products split into micro‑frontends, copy started drifting. Teams owned their own cadence and repos. Users don’t care which repo a string comes from; they notice when wording changes between screens.
Stakeholders: multiple frontend squads, a design system owner, a localisation PM, translators/reviewers for fr‑FR, de‑DE, es‑ES and zh‑CN, and QA.
What I built
A shared key catalogue and a tiny service that checks new copy against it, with PR comments when someone invents a near‑duplicate. A matrix build in CI exported per‑app packages and reassembled returns, with a quick screenshot diff for the shared flows.
A small guide on when to create a new key and when to reuse one, backed by examples people actually hit.
How we ran it together
Squads moved at their own pace, but copy stayed aligned because drift was visible early. Translators saw clean, per‑app packages; reviewers looked at diffs instead of guessing what changed.
Outcome
Fewer mismatches in wording, fewer repeat translations, and a better feel to the product because screens agreed with each other.
If I were starting this today
I’d keep the shared catalogue and the diff step; they’re small but they change behaviour in the right direction.