Choie

GlossaryUpdated

Design system

A design system is a shared set of design tokens, components, patterns, and usage guidelines, usually mirrored in code, that a team uses to build a product that stays consistent and is faster to extend.

In short

  • A design system is a set of reusable decisions (tokens, components, patterns) and the rules for using them.
  • It pays off when the design file and the code match, so the same button exists in both with the same name.
  • Small teams need a light version early, meaning tokens and a handful of core components.
  • Documentation sites, versioning, and governance can wait until several teams share the system.

Also called: Design language, Component library, UI kit, Design tokens.

What a design system is

A design system is the set of parts a product is built from, along with the rules for putting them together. When someone designs or builds a screen, they pick from shared colors, type styles, spacing, and components. Screens come out consistent because they are made of the same pieces.

The important word is shared. A Figma file of components that engineers never open is a UI kit. A code library that designers never look at is a component library. A design system keeps the two in step, so changing a button in the design means changing the button in the product.

The layers of a design system

How a design system is built up

  1. ScreensAssembled from the parts below
  2. PatternsSign-up forms, search, data tables
  3. ComponentsButtons, inputs, menus, dialogs
  4. TokensNamed colors, type, spacing, radius
Each layer is built from the one beneath it. Change a token and every component and screen that uses it follows.

Tokens are the smallest decisions, given names: a text color, a spacing step, a corner radius. Components refer to the token by name, so changing it once updates everything that uses it. That is how a product gets a dark mode or a refreshed brand without redrawing every screen.

Components are the reusable controls built from tokens, each with all of its states. Patterns combine components to solve a recurring problem, like a sign-up form or a filterable table, and come with guidance on when to use them. Screens sit on top. They are what the system produces.

What it looks like in design and in code

LayerIn the design fileIn the code
TokensFigma variables and stylesCSS variables or a theme file
ComponentsFigma components with variantsReact, Swift, or Kotlin components with matching options
PatternsExample screens with usage notesComposed components and page templates
GuidelinesWhen and how to use each partDocumentation, code comments, and lint rules

Both sides should use the same names. When a designer says "secondary button" and the codebase has a component with that name and the same states, the design handoff becomes a short conversation about behavior instead of a translation exercise.

When a small team needs one, and when it is premature

Every product has a design system of some kind, even if it only exists implicitly in the code. The real question is how formal to make it, and for a small team that depends on how many people build screens and how settled the product is.

  • Start early with tokens and core components. Defining colors, type, spacing, and a dozen common components in the first weeks costs little and prevents drift. An established open-source component library, themed with your tokens, is a sensible starting point.
  • Add patterns when they repeat. When the same form or table appears for the third time, turn it into a documented pattern.
  • Wait on the heavy parts. A public documentation site, versioned releases, a dedicated team, and contribution rules make sense once several product teams share the system. Before that, they slow you down.

A practical test

If two people would build the same screen differently with your current parts, you need more system. If maintaining the system takes more time than shipping features, you have too much.

Choie builds a design system with the product rather than ahead of it. The first critical workflow shows which components the product actually needs, so nothing is made in the abstract.

Common mistakes

  • Building the system before the product. Weeks of components for screens that do not exist yet, many of which will change once users arrive.
  • Letting design and code drift apart. The Figma file says one thing, the product does another, and soon nobody trusts either.
  • Hard-coding values. A color typed directly into one screen bypasses the tokens and breaks the next theme change. Small cases like this add up to technical debt.
  • Copying a large company's system. Public systems are built for organizations with many product teams. A startup needs a small fraction of that.

Choie sets up tokens and components once, in the design file and in code together, because the people designing the product are the ones building it. Once fees for a deliverable are paid, the designs and source code are the client's, system included. See who owns the code.

Common questions

What is the difference between a design system and a UI kit?

A UI kit is a set of design components, usually in Figma, while a design system pairs those components with matching code, tokens, and usage guidelines. A UI kit helps you draw screens, and a design system helps a team build them consistently.

What are design tokens?

Design tokens are named values for basic design decisions, such as a color, a font size, or a spacing step. Components point at those names, so one change updates the whole product.

Does an MVP need a design system?

It needs a small one. Tokens for color, type, and spacing plus a handful of core components keep a first release consistent without slowing the build, and the rest can wait until the product settles. In a Choie build, the live link every Friday shows the system inside the real product, where drift is easy to spot.

Should we build our own components or use a library?

For most new products, start from an established open-source library and theme it with your own tokens. Build custom components only where the product needs behavior the library does not cover.

Related terms

See every term in the glossary

Have something worth building?

  • Product strategy
  • iOS
  • Design systems
  • Launch sites
  • Measurement
  • Android
  • Prototypes
  • UX design
  • MVPs
  • Web apps
  • UI design

Send a few lines about it. You will get an honest reply within two days, and a plan if it fits.