← Musings

Muse

Words are infrastructure

On any platform bigger than one team, language drifts. One screen says Save, the next says Apply, a third says Done, and all three mean the same thing. Help text argues with the error message beneath it. Tone fragments by product, then by squad, then by whoever wrote the string at 5pm on a Friday. Nobody decides this. It just happens, the way entropy happens.

Design systems solved this for components a decade ago. We built tokens, governance, contribution models, a single source of truth. Then we left the words, the part of the interface people actually read, scattered across codebases as string literals.

Building Strunk taught me the fix is structural, not editorial. You don't solve language drift by hiring a better writer; you solve it by giving language the same infrastructure as colour: managed, governed, versioned, owned. A style guide nobody opens is a poster. A copy system wired into the product is a guarantee.

The test is simple. If changing your primary button colour takes one pull request but changing the word on it takes twenty, your words aren't infrastructure yet. They're decoration that happens to be load-bearing.