After building design systems for 50+ clients, the pattern is clear: the systems that survive contact with a real product team are the ones built around constraints, not components.
Start with tokens, not components
Color, spacing, and typography tokens are the foundation everything else inherits from. Get these right first — a component library built on shaky tokens has to be rebuilt the moment the brand evolves.
Design for the exceptions
Every design system looks great until someone needs a three-line button label, an empty state, or a loading skeleton nobody designed. Budget real time for these "boring" states — they are most of what ships.
Documentation is a product, not an afterthought
A component with no usage guidance gets misused within a week. Every component needs a clear "when to use this" and "when not to" — screenshots of good and bad usage included.
Governance beats perfection
The system doesn't need to be perfect at launch — it needs a clear owner and a lightweight process for proposing changes. Systems that lack governance drift into inconsistency within two quarters, no matter how well they started.