All writing
Design

What a design system actually saves you

Design systems get oversold and misunderstood. Here is when one genuinely pays off, what it really contains, and how to avoid building a beautiful library nobody uses.

Sara Khan · Design Lead8 April 20246 min read

Ask ten people what a design system is and you will get ten answers. Some think it is a colour palette. Some think it is a giant Figma file. A few think it is a magic switch that makes a product look consistent forever. None of these are quite right, and the confusion is why so many design systems end up half built and abandoned.

A design system is a shared, documented set of decisions plus the components that carry those decisions into real screens and real code. The key word is shared. If only one designer understands it, it is not a system, it is a personal file.

What it actually contains

A practical design system has three layers, and you do not need all three on day one.

  • Foundations: colour, type scale, spacing, radius, elevation. The quiet rules that make everything feel related.
  • Components: buttons, inputs, cards, modals, tables, with their states defined. Hover, disabled, loading, error, empty.
  • Patterns and guidance: when to use a banner versus a toast, how forms behave, how errors are written. This is the layer most teams skip and most regret skipping.

The components are the visible part, but the guidance is where the long term value sits. A button is easy. Knowing exactly when to use it, and when not to, is what keeps a product coherent as it grows.

Where the savings really come from

The pitch for design systems is usually speed, and speed is real, but it is not the biggest win. The biggest win is fewer decisions.

Every time a designer reinvents a form layout, or an engineer guesses at a spacing value, that is a small decision repeated hundreds of times across a product. A design system makes those decisions once, well, and then nobody has to make them again. Designers spend their time on the genuinely new problems instead of redrawing the same dropdown.

There is a quality dividend too. When a component is built once and reused, you fix an accessibility issue or a bug in one place and it propagates everywhere. We have shipped contrast fixes to an entire product by updating a single component definition.

When it is worth it, and when it is not

We are honest with clients here, because a design system is an investment that takes time to repay.

It is worth it when:

  • You have more than one product, or one product with many screens.
  • More than one or two people touch design and front end code.
  • You expect the product to keep growing for years, not months.

It is usually not worth it when you are pre-launch with a single small app and a team of two. At that stage a tidy component file in your design tool is plenty. Building a full system too early is a classic way to burn budget on infrastructure for a product that has not been proven yet.

Build the system the product needs now, not the system you imagine needing in three years.

How to avoid the library nobody uses

The graveyard of design is full of gorgeous component libraries that engineers ignored and reverted to copy and paste. We have learned a few habits that keep a system alive.

First, build design and code together. A component that exists in Figma but not in the codebase is a promise, not a tool. We define a component in design and ship the coded version close behind, so there is one source of truth, not two drifting copies.

Second, make the easy path the right path. If using the system is more work than ignoring it, people will ignore it. Good naming, clear documentation, and components that handle the awkward states for you are what make adoption natural.

Third, give it an owner. A design system without someone responsible for it slowly rots as the product changes around it. It does not need a full time team, but it needs someone who reviews additions and keeps the guidance current.

A reasonable starting point

If you are convinced but unsure where to begin, start small and real. Pick the ten components your product uses most. Define their states properly. Write short guidance for the three patterns your team argues about most often. Ship those into both design and code, and use them on the next feature you build.

That focused start will teach you more about what your system needs than any amount of upfront planning. The system grows from real use, and the parts you build are the parts you actually rely on. That is how you end up with something the team reaches for instead of works around.

Let us build the thing
you keep putting off.

Book a free consultation. Tell us what you are building and we will come back with scope, budget and a realistic timeline.