Design

Design systems that scale with the team, not against it

A pragmatic look at when a design system pays for itself, what to leave out, and how to keep tokens, components, and documentation from drifting apart.

Colorful design tokens and swatches
ByAnaghJune 28, 20268 min read

You probably don't need a design system yet

Most teams reach for a design system too early. If you have two designers and a handful of screens, a shared Figma library and a well-organized component folder will get you further than a full-blown system with tokens, docs, and a Storybook deployment.

The right moment is when the cost of inconsistency starts to outweigh the cost of maintenance. That's usually when you have more than one product surface, more than three designers, or a growing engineering team that's shipping UI in parallel.

Tokens first, components second

The most durable part of a design system is the token layer: color, spacing, radius, typography, motion. Get these right and the components that consume them can change without breaking anything downstream.

We keep tokens in a single source of truth — usually a JSON file — and generate CSS custom properties, Tailwind config, and Figma variables from it. When a designer changes a token, the update flows everywhere at once.

Ship fewer components, better

Every component you add is a component you have to maintain, document, and evolve. We start with the ten or fifteen primitives that appear on nearly every screen — button, input, card, modal, table — and resist adding more until there's clear demand from at least two product areas.

Documentation is a product

The best design system in the world is useless if no one knows how to use it. We treat documentation like a product: usage examples, do-and-don't guidance, accessibility notes, and code snippets that can be copied without editing. When docs and components drift apart, adoption stalls.

All posts