Design systems · 28 July 2026 · 5 min read
A design system is just a set of constraints

Ask a model for a colour palette and you will get one. It will be pleasant, it will photograph well, and roughly a third of the time some of its text will be illegible on its own background.
Contrast is a constraint, not a preference
Every foreground token has to be readable on the surface it sits on. Body text needs a contrast ratio of at least 4.5 to 1; large text can go to 3 to 1. These are not stylistic opinions, they are the difference between a design that ships and one that fails an audit.
So we ask for it explicitly, and we check it. A generated guide that fails a pairing is a generated guide we can catch before anyone builds on it.
Naming is half the system
A palette of eight nice colours is a mood board. A palette where each colour is bound to a role — surface, border, focus ring, destructive — is a system, because now a component can ask for the role rather than the colour.
That indirection is what lets one design survive a change of theme. Swap the values behind the roles and every screen follows.
Where the taste goes
None of this removes judgement. Deciding that a brand is warm rather than cool, dense rather than airy, serif rather than grotesque — that is the part worth a designer’s time. The constraints exist so that the judgement is the only thing left to make.