Design Systems Decide What Not to Add
A useful design guide limits decorative choices while preserving enough depth to explain the interface.
Constraints create visual order
A design system earns its keep by reducing the number of defensible choices. If any screen can introduce a new radius, a new shadow, a new accent or a new spacing step, every decision becomes local, each one looks reasonable on its own, and the hierarchy stops working without anybody deciding that it should.
Nobody ever ships the screen that broke it. It breaks across forty of them.
Start from interface roles rather than from a swatch list. Type needs a level for the page title, the section heading, body copy, labels and supporting detail. Colour needs a use for actions, status, emphasis, boundaries and surfaces. Spacing needs a scale that says how things relate, not how big the gap looked. A token with no role gets used by taste, and the taste gets compiled into components.
Constraint is not uniformity. A dense table, a configuration form and a public content preview want different densities, and a variant is fine when it solves a written problem and keeps the shared interaction behaviour. Every variant is more testing, more documentation and more compatibility surface, so adding one should be harder than adding another instance of what already exists.
A treatment with two jobs stops doing either one reliably.
Minimalism can remove meaning: taking a treatment away is only safe once something else carries its job.
Document the interface problem a treatment solves, then prohibit it outside that role.
Surfaces stay mostly flat
Flat surfaces push hierarchy into structure, spacing and type, which is where it survives a redesign. One page background, restrained panels, and a boundary drawn only where a boundary has to be perceived.
Depth is for explaining behaviour. A menu above a page, a modal blocking the task underneath, an item being dragged: elevation says what relates to what, and it should end when that relationship ends. Put a permanent shadow on every container and the same signal has been spent on ordinary grouping, after which genuinely elevated things need something louder and the whole scale inflates.
Separation costs too. Too many rules and a form becomes a grid of boxes; too few and label, value and action run together. The system should say when space alone is enough and when a change of surface is needed, and it should reach for the fill before the line, because a one-pixel border survives a theme change worse than a step on a tone ladder does.
The test is whether the treatment clarifies grouping or interaction. Not whether the screen feels finished.
Tags and icons have roles
A tag should carry status, category or a constrained attribute, and one of those at a time. This site runs five tag colours across its product and capability pages, and each of them has exactly one job.
The five tag colours used across this site, each with the one job it is allowed to do. The specimen is the rule: if a colour ever earns a second row in this table, it has stopped being a signal.
Once a pill can be a status, a filter and a button, a reader has to click one to find out which it was. The system has to separate tags from buttons, filters and form controls by shape, colour and interaction, and a tag that performs an action needs the visible behaviour and the accessibility semantics of the action it performs.
Status colour reinforces the word; it does not replace it. Draft, scheduled, published and archived carry operational meaning that has to survive a reader who cannot separate the hues, and the palette needs a rule for what happens when a status tag sits beside a warning and a selected state at once.
Icons earn their place by improving recognition, saving space that was genuinely scarce, or marking a repeated action. An unlabelled unfamiliar icon moves the work into the user's memory, and a tooltip repairs that for a pointer and for nobody else. They also need consistent stroke, size and alignment, and a decision about which of them mirror in a right-to-left layout.
Decorative icons should be rare. They spend attention and return nothing.
Minimalism can remove meaning
Minimalism fails when the simplification removes a distinction somebody needed in order to act safely. Labels hidden inside placeholders, actions reduced to ambiguous glyphs, contrast lowered until the screenshot looks calm: it all photographs well and works worse.
Administrative software has consequential states, dependencies and exceptions. Organising that is the design task. Hiding it is not.
Progressive disclosure is fine when the hidden thing appears at the right moment. Advanced settings can collapse if their defaults are safe and their effect is stated before submission. A critical condition must not live in a tooltip a user meets after the error, and a destructive action can stay visually quiet until it is selected, as long as its consequence is explicit before it is confirmed.
So every treatment wants a written reason and a written prohibition. Shadow means temporary elevation. A tag means a constrained state. Accent means the primary action or the current navigation item. Document the content, interaction and accessibility expectations alongside the appearance, and keep a route for challenging an exception once real data exposes the case nobody had.
A design system stays useful by refusing decorative drift while admitting complexity that means something. The design guide is where those decisions get written down, and the point of writing them down is that nobody relitigates them by accident.