Jun 01, 2026
Lately I keep coming back to the idea of design entropy, because it describes something I run into in almost every design system I work on.
In physics and information theory, entropy is the tendency of a system to drift toward disorder, toward more and more possible states. The fewer constraints on where a system can go, the less predictable it becomes. Design systems behave the same way.

A system usually starts clean. The type scale is defined, spacing follows a rhythm, components feel related, colors have clear roles. There’s enough structure that decisions feel intentional. Then variation creeps in. A local override to solve one screen. A component duplicated and tweaked. A new section with its own spacing. Type that diverges in small ways.
None of these feel like a problem on their own, and most are perfectly reasonable in the moment. The trouble shows up later, when the system has quietly lost its coherence. Components still look familiar but behave differently. Patterns stop being interchangeable. New decisions take longer because the existing ones no longer guide you. The system is still there, it’s just harder to read and harder to trust. That slow slide away from coherence is what I think of as design entropy.
Design entropy almost never comes from one big mistake. It accumulates over time through small practical decisions that most of the times are made under pressure. A project grows, pages get added, deadlines tighten. You adjust a component locally because it’s faster than fixing it at the source. You hardcode a spacing value to handle an edge case. You introduce a one-off that never makes it back into the shared language. Every step is defensible. The sum is a system carrying more uncertainty than it should.
It helps to be specific about what pushes a system in each direction.

Our tools accelerate entropy as easily as they reduce it: page builders and generative AI can both spin up a system fast, but speed without constraints just produces a faster mess. Structure is what absorbs that complexity. A design system is less documentation than an operating environment, narrowing the decisions you make from scratch while leaving room for useful variation. That matters most with AI in the loop, where a well-structured set of tokens and patterns gives a model somewhere coherent to compose inside instead of inventing from nothing. The output improves not because the model got smarter, but because the environment around it did.
None of this means stripping out expression. In most disciplines, whether architecture, music, writing, or design, creativity depends on constraints. The boundaries are what make variation mean something. A design system works the same way. Its purpose isn’t to flatten how you design. It’s to remove the unnecessary chaos so the meaningful choices stand out.
And maybe that’s why the idea feels so relevant lately. As our tools get faster and more generative, coherence becomes one of the most valuable things a system can hold onto.
Hope you found this useful. Ping me on X if you’ve got thoughts.