Design System
A shared vocabulary of tokens, primitives, and rules that makes independent work converge.
A design system is the combination of a token set, a component library, and the conventions governing their use — the shared vocabulary that lets many people build interfaces that look and behave as one thing.
Its purpose is to close drift vectors. Every place where a value can be typed freely is a place two people will choose differently, so a system works by replacing free values with enumerated ones: not any colour but a named role, not any spacing but a scale step, not any markup but a typed primitive. Where an escape hatch remains — an arbitrary class name, an inline style, a raw element with hand-written styling — drift reappears there, and it reappears fastest under the pressure of shipping.
That is why the strictest systems ban the escape hatches outright rather than discouraging them. Removing a free-form styling prop is unpopular and effective: the styling then has to be expressible through typed properties, which means the system has to grow to accommodate real needs rather than being routed around.
The maintenance question is not whether the system covers everything but whether extending it is easier than bypassing it. When it is not, people bypass it, and the bypass is invisible to any check that only inspects the sanctioned path.
See also8
Hand-picked in the note itself — the neighbours worth reading next.
Design Token
Named design decisions — colour, spacing, radius, type — stored as data so they can be shared and re-themed.
Design & Interface14 connections
UI Primitive
The small set of typed components through which all interface markup is expressed.
Design & Interface10 connections
Headless Component
A component supplying behaviour and accessibility with no styling of its own.
Design & Interface13 connections
Naming
Choosing identifiers so the code states its own meaning without commentary.
Method21 connections
Taxonomy
A controlled vocabulary for classifying things, and the choice between hierarchy, facets, and free tagging.
Meaning & Society12 connections
Utility-First CSS
Composing styles from many small single-purpose classes rather than authoring semantic rules.
Design & Interface11 connections
Container Query
Styling based on the size of an element's container rather than the viewport.
Design & Interface6 connections
Typographic Scale
A constrained set of type sizes and their paired line heights and spacing.
Design & Interface10 connections
Related1
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from8
Notes elsewhere in the wiki that reach for this one.
- Container QueryDesign & Interface
Styling based on the size of an element's container rather than the viewport.
- Design TokenDesign & Interface
Named design decisions — colour, spacing, radius, type — stored as data so they can be shared and re-themed.
- Headless ComponentDesign & Interface
A component supplying behaviour and accessibility with no styling of its own.
- NamingMethod
Choosing identifiers so the code states its own meaning without commentary.
- TaxonomyMeaning & Society
A controlled vocabulary for classifying things, and the choice between hierarchy, facets, and free tagging.
- Typographic ScaleDesign & Interface
A constrained set of type sizes and their paired line heights and spacing.
- UI PrimitiveDesign & Interface
The small set of typed components through which all interface markup is expressed.
- Utility-First CSSDesign & Interface
Composing styles from many small single-purpose classes rather than authoring semantic rules.