Design tokens are a contract, not a color list
We had a color palette that everyone partially followed. The problem wasn't the palette — it was that nobody knew which token was safe to use. What we did: Renamed tokens by intent ( surface-raised , text-muted ) instead of hue ( gray-200 ). Deleted every token with zero usages. Added a CI check that fails on raw hex in components. The design system feels smaller now, and easier to extend.…
We haven't written up this one. Dev.to has the full story — the link below goes straight to it.