DEV Community

Quinn Foster
Quinn Foster

Posted on

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:

  1. Renamed tokens by intent (surface-raised, text-muted) instead of hue (gray-200).
  2. Deleted every token with zero usages.
  3. Added a CI check that fails on raw hex in components.

The design system feels smaller now, and easier to extend. Weirdly, having fewer options made the UI more consistent.

I'm learning GraphQL next — mostly to understand how schema design changes when the client picks the shape. Happy to hear war stories.

Top comments (0)