In concept, design tokens had been supposed to avoid wasting us. They had been the lacking hyperlink between design and code, a neat solution to summary choices—colours, spacing, typography, movement—right into a unified language that each designers and builders may perceive.
No extra manually updating hex codes or tweaking border radii by hand. As a substitute, tokens would guarantee consistency and scalability throughout complete ecosystems. Stunning thought. Elegant in a slide deck.
However in follow, one thing went sideways. The identical abstraction that promised concord has began to suffocate creativity, readability, and even the aim of design programs themselves. We’ve entered the period of token fatigue—some extent the place the layers of abstraction have grow to be so recursive, so self-referential, that the system spends extra time describing itself than designing something. Let’s unpack how we received right here.
The Authentic Promise: Design Tokens as a Bridge
The idea of design tokens originated as a practical response to chaos. Massive groups—suppose Salesforce, IBM, Google—wanted a solution to handle visible consistency throughout a number of platforms. CSS variables, JSON recordsdata, and magnificence dictionaries made it potential to precise design choices as code: color-primary, font-size-sm, spacing-md. These weren’t simply labels; they had been single sources of reality.
Tokens solved a number of issues without delay. They bridged design and engineering by offering a shared vocabulary. They simplified scaling throughout a number of platforms and types. They diminished entropy by codifying aesthetic decisions into reusable values.
When used effectively, tokens helped groups transfer quicker and keep aligned. They had been the connective tissue between Figma parts and React codebases—a sort of design Esperanto. However someplace between “shared vocabulary” and “meta-system of nested abstractions,” we crossed a threshold. The main focus shifted from utilizing tokens to precise design choices to designing the tokens themselves.
From Utility to Obsession
At first, the attraction of tokens was readability. However like several abstraction, when you begin nesting abstractions inside abstractions, the readability erodes. As a substitute of color-primary, you find yourself with color-background-surface-secondary-inverse-hover. As a substitute of some key primitives, you might have 1000’s of derived tokens that map to different tokens, which map to variables that reference but extra tokens.
It’s turtles all the way in which down, and not one of the turtles keep in mind what “blue” really regarded like.
The issue isn’t that abstraction exists—it’s that the abstraction has grow to be the finish aim fairly than the means. Groups now spend weeks debating whether or not a variable needs to be “semantic” or “useful,” whether or not it belongs to the “core” set or the “alias” layer, and which naming schema will survive the subsequent Figma launch. That is what occurs when a system turns into self-aware: it stops serving its creators and begins optimizing for itself.
You’ll be able to sense the fatigue when designers begin saying issues like: “Can we simply choose a colour with out checking the token hierarchy?” or “I don’t know which padding token is appropriate anymore.” These aren’t jokes—they’re cries for assist.
The Phantasm of Consistency
Tokens had been bought on the promise of consistency, however consistency itself is a slippery aim. You’ll be able to have constant colours and inconsistent experiences. You’ll be able to have pixel-perfect grids that fail emotionally. The fetishization of consistency usually masks a deeper anxiousness: that with out it, the system will unravel.
In massive organizations, this anxiousness is amplified by scale. The extra merchandise, groups, and markets you handle, the extra tempting it turns into to construct an abstraction so inflexible that nobody can break it. Tokens appear to be the right answer—goal, measurable, and version-controllable.
However what occurs when each choice should be routed by means of layers of token governance? You find yourself with visible forms. Designers cease designing and begin requesting exceptions. Builders cease coding and begin mapping. The friction tokens had been meant to take away comes again in a brand new kind—this time with higher documentation and a JSON schema.
That is how abstraction eats itself: in making an attempt to simplify the system, you add so many layers of administration that the simplicity turns into theoretical. Consistency survives, however solely as an aesthetic corpse—completely embalmed, completely lifeless.
The Infinite Cascade of “Core,” “Semantic,” and “Alias”
Should you’ve frolicked in a mature design system, you’ve most likely seen this sample: core tokens outline elementary values like colours, spacing, and typography; semantic tokens describe contextual meanings like button-primary-background or text-error-color; and alias tokens enable alternate mappings for themes, modes, or manufacturers.
In concept, this hierarchy provides flexibility. In follow, it creates indirection hell. Altering the colour of a button includes tracing three or 4 layers deep into token ancestry, deciphering whether or not a price was overridden by a theme or remapped by an alias. Every change requires a mini investigation.
You get programs so abstracted that even the individuals who constructed them can’t inform what’s going to alter when a token updates. It’s abstraction so deep it begins resembling metaphysics.
Builders have a time period for this: leaky abstraction. It means the small print you tried to cover ultimately seep again by means of, however now they’re tougher to debug. In design programs, leaky tokens present up as mysterious colour shifts, damaged distinction ratios, or spacing inconsistencies that require archaeological digs to clarify.
While you want a PhD in tokenology to replace a button type, one thing’s gone fallacious.
The Human Value of Over-Abstracted Design
Behind each abstraction is a human making an attempt to know it. And because the psychological mannequin will get extra complicated, cognitive load skyrockets. Junior designers are intimidated. Senior designers are annoyed. Builders waste hours making an attempt to find which file defines the precise worth of $border-radius-sm.
As a substitute of empowering folks to suppose creatively, tokens can lure them in a maze of indirection. They grow to be guardrails so excessive that nobody can see over them.
This results in a paradox: groups construct programs to cut back choice fatigue, however the programs themselves grow to be a brand new supply of it. The abstraction that was alleged to liberate turns into a sort of cognitive tax.
And since nobody desires to interrupt the sacred design system, small acts of rebel begin to seem—hard-coded values, unapproved variants, native overrides. The shadow programs proliferate quietly in product recordsdata till they ultimately outnumber the official ones. The design system stays pristine within the docs however irrelevant in actuality.
When Documentation Outpaces Design
Probably the most seen signs of token fatigue is the ratio of documentation to design. A wholesome system helps designers create quicker. A fatigued system spends extra time describing itself than serving to folks make choices.
You recognize you’re there when the design system’s changelog is longer than the product roadmap, the documentation web site has 300 pages and 0 illustrations, and each part spec hyperlinks to a different spec that hyperlinks to a different layer of token definitions.
Designers are pure system thinkers, so it’s straightforward to fall into the lure of infinite refinement—wanting each rule to have a cause, each variable to be mapped. However the pursuit of whole abstraction is like chasing the horizon: the nearer you get, the additional it strikes away. What was alleged to make clear design now abstracts which means itself.
Sooner or later, you notice the tokens aren’t serving the product—they’re serving the documentation.
The Seduction of Scale
Why do groups preserve doing this? As a result of scale is seductive. Abstraction makes us really feel in management. It’s comforting to consider that by including yet another layer of hierarchy, you’re future-proofing the system. In any case, who wouldn’t need a token construction that may deal with ten manufacturers, 5 platforms, three darkish modes, and no matter AR/VR variant comes subsequent?
However right here’s the uncomfortable reality: you possibly can’t summary your method out of uncertainty. Each new abstraction is a guess on the longer term—and most of these bets don’t repay. The longer term all the time arrives otherwise than anticipated, and out of the blue your “future-proof” token construction appears like legacy debt.
The irony is that by over-optimizing for flexibility, you really scale back it. When the whole lot is parameterized, nothing feels fluid. The system turns into so generic that it could actually not categorical something particular. It’s like making an attempt to color with variables as a substitute of colours.
The consequence: merchandise which are completely constant however emotionally sterile.
The Return to Pragmatism
The answer to token fatigue isn’t to desert tokens altogether—it’s to rediscover their objective. Tokens had been meant to encode choices, not defer them. They need to seize design intent, not exchange it.
Right here’s what a saner method appears like:
- Hold tokens human-readable. If a designer can’t guess what it does from the title, it’s too summary.
- Restrict depth. Not more than two ranges of indirection between a semantic token and its precise worth.
- Doc intent, not implementation. As a substitute of displaying each mapping, clarify why the token exists.
- Model for people. Semantic versioning means nothing if nobody understands what modified.
- Let context override purity. Typically, a one-off worth is healthier than a thousand nested references.
In different phrases, carry design again to the floor. Tokens ought to assist creativity, not constrain it. If the system can’t adapt shortly, it’s not a system—it’s a shrine.
When Much less System Means Extra Design
There’s a quiet motion forming amongst design system veterans: a shift from maximalism to minimalism. As a substitute of 5,000 tokens, perhaps you simply want 50. As a substitute of 12 spacing values, perhaps 4. As a substitute of 20 button variants, 3. The aim isn’t to encode each risk—it’s to make the most typical ones easy and the uncommon ones potential.
This shift mirrors what occurred in software program engineering many years in the past. After the over-engineering craze of the early 2000s, builders rediscovered simplicity by means of agile, lean, and component-based design. Design programs are going by means of the identical adolescence.
The subsequent evolution gained’t be about extra tokens, it’ll be about smarter defaults—programs that encode rules fairly than parameters. As an example, as a substitute of defining each potential colour position, outline distinction guidelines. As a substitute of spacing tokens, outline rhythm programs. As a substitute of static naming conventions, outline relationships between visible parts.
That’s not abstraction for abstraction’s sake; that’s abstraction in service of readability.
The Ethical of the Story
The final word lesson of token fatigue is that abstraction all the time has a price. Each layer you add distances you from the uncooked materials of design—colour, texture, mild, rhythm, emotion. Too many layers, and also you lose sight of why you had been abstracting within the first place.
Tokens, carefully, are a chic solution to talk construction. However after they grow to be an ideology, they begin consuming their very own tail. The result’s a system obsessive about describing design fairly than experiencing it.
Possibly the healthiest design programs aren’t those with probably the most tokens, however the ones that know when to cease abstracting.
As a result of on the finish of the day, the aim isn’t to create excellent consistency—it’s to create significant experiences. And that may all the time require a bit little bit of chaos, a bit little bit of imperfection, and quite a bit much less JSON.


Leave a Reply