Mahbuba.
Dhaka, BDhello@mahbuba.design
← All notesDesign systems

Why most design systems fail before they start

May 12, 2026·4 min read
design-systems-that-stick.fig
Category

Design systems

Published

May 12, 2026

Read time

4 min

Discuss this

Most design system efforts begin the same way: someone audits the product, finds dozens of inconsistent buttons, and proposes a clean, unified component library. The library gets built. Six months later, half the product still uses the old buttons, and a new set of inconsistencies has appeared in the gaps the system didn't cover.

The failure isn't in the components. It's in treating the system as a deliverable instead of a relationship — between design and the codebase that has to actually use it.

The system has to meet the code where it is

A design system built in isolation from the existing codebase is asking engineering to do two jobs at once: ship features, and migrate to a new foundation. Under deadline pressure, the migration loses, every time — not because anyone disagrees with it, but because it's never the most urgent thing.

The systems that stick are usually the ones built as a layer on top of what already exists — new tokens that map onto variables already in use, new components that can be adopted one screen at a time, not a parallel universe that has to be migrated to wholesale.

Documentation is a UX problem too

A component library with no usage guidance just becomes a second place inconsistency can happen — now there are two button styles in the library itself, and no record of which one is current.

The documentation that actually gets read is short, opinionated, and answers the question someone has in the moment: which of these do I use, and why. Not a complete reference nobody opens until something's already gone wrong.

What this looks like in practice

  • 01Start with the five most-used components, not the most interesting ones.
  • 02Ship tokens before components — they're lower-risk to adopt and immediately reduce drift.
  • 03Write one sentence of 'when to use this' for every component, even if it feels obvious.
  • 04Track adoption like a feature, with a real owner — not as a one-time migration project.

None of this is about the components being better-designed. It's about removing every reason not to use them.

Open for workstatus: available — 2026

Got an interface
that needs work?
Let's talk

hello@mahbuba.design+880 1XXX-XXXXXXDhaka, Bangladesh (GMT+6)