Design
Ship tokens before you ship a button
Nina Alvarez · 2025-05-16 · 6 min
Resources
Buttons multiply. Tokens do not — if you name them by role instead of by hex. We publish a JSON file the codebase can import on day one, before anyone draws a hero section.
Dark mode is a weekend project only when color is paint. When color is role — accent, muted, danger, surface — switching theme is a map, not a scavenger hunt.
Role, not paint
If a designer needs a new hex, they need a new role — or they are decorating. We reject one-off colors in review the same way we reject one-off magic numbers in code.
Spacing and type follow the same rule. A scale of eight, a type ramp with names, and no 'make it 13px because it looked tight in Figma'.
Ship the file
Tokens live in git. Design tools consume them, or they are downstream. The other way around is how production and Figma divorce.
Ship tokens before you ship a button, and the button will have somewhere honest to live.
Related articles
Design
Figma-to-code contracts that survive a sprint
Auto-layout, named layers, and the inspection ritual we run before estimate.
Omar Farouk · 2025-02-07 · 6 min
Read articleDesign
Dark UI contrast that still passes
Muted text, glass panels, and the WCAG line we will not cross for atmosphere.
Nina Alvarez · 2025-03-19 · 6 min
Read articleDesign
Motion that does not lie about state
Duration, easing, and the reduced-motion path we ship on every marketing surface.
Nina Alvarez · 2025-04-08 · 6 min
Read article