Design System

A design system is an evolving set of reusable design decisions, resources, and practices for creating digital interfaces.

It is not only a file, a UI kit, or a component library. It is a product that helps other products get designed and built with more consistency.

Core Idea

A design system connects:

  • visual foundations
  • Design Tokens
  • components
  • patterns
  • templates
  • documentation
  • code resources
  • governance
  • usage rules
  • contribution processes

The important word is system. The parts affect each other.

A token affects a component. A component affects a form. A form affects a checkout flow. Documentation affects how developers implement it. Governance affects whether the system stays coherent over time.

Why It Matters

A design system helps teams:

  • keep interfaces consistent
  • reduce repeated decisions
  • create a shared language
  • improve designer-developer handoff
  • scale UI across many screens or products
  • make maintenance easier
  • support accessibility at system level
  • onboard new contributors faster

What It Is Not

A design system can include a brand style guide and a UI kit, but it is larger than both.

Not enough by itselfWhy
brand style guidefocuses mainly on identity, logo, color, typography, and tone
UI kitgives reusable objects but may not explain how, when, or why to use them
component folderstores interface pieces but may not include governance or decision logic
finished deliverablea design system must evolve with products and teams

Main Parts

PartRole
Design Tokensnamed decisions for color, type, spacing, radius, motion, and other values
Design Libraryreusable components and variants inside the design tool
componentsinterface pieces such as buttons, cards, inputs, modals, tabs
patternsrecurring solutions such as login, forms, empty states, onboarding
templatesreusable page or flow structures
Design System Documentationexplains how and when to use the system
Design System Governancedefines ownership, contribution, updates, and maintenance

Design System Parameters

Before building a system, the team should define its boundaries.

ParameterQuestion
rigidityshould it be flexible guidance or strict rules?
modularitydoes it contain global elements, specific components, or both?
organizationis ownership distributed, centralized, or hybrid?
scalabilityis it for one product, many products, or a large ecosystem?

The context determines the answer.

A small product can use a lightweight system. A company with many products needs stronger rules. A public-service ecosystem may need governance that supports many independent teams.

Starting A Design System

Useful first steps:

  1. define the system goals
  2. define the parameters
  3. decide what to include
  4. run an Interface Inventory if a product already exists
  5. identify repeated decisions and inconsistencies
  6. create the first tokens
  7. create reusable components
  8. document usage rules
  9. decide governance and maintenance

Learning Path

For study and project work, the design-system notes fit together like this:

Interface Inventory
  -> Design Tokens
    -> Atomic Design
      -> Design Library
        -> Design System Documentation
          -> Design System Governance
            -> Handover

Each step answers a different question.

StepQuestion
Interface Inventorywhat already exists and where are the inconsistencies?
Design Tokenswhich repeated values should become reusable decisions?
Atomic Designhow do small decisions become interface parts and pages?
Design Librarywhere do reusable components live in the design tool?
Design System Documentationhow should people use the system correctly?
Design System Governancewho maintains, reviews, and evolves the system?
Handoverhow do design decisions become buildable implementation work?

Design System Charter

A design system charter is a shared document that explains the system before production starts.

It can include:

  • goals
  • scope
  • target products
  • team members
  • roles
  • constraints
  • risks
  • contribution rules
  • priorities

The charter matters because design system work is not only visual. It is organizational.

Relationship With Atomic Design

Atomic Design helps classify the system.

flowchart LR
  A["Design Tokens"] --> B["Atoms"]
  B --> C["Molecules"]
  C --> D["Organisms"]
  D --> E["Templates"]
  E --> F["Pages"]

This helps the team understand where each decision belongs.

Accessibility In A Design System

Accessibility should be built into the system, not checked only at the end.

The system can define:

  • accessible color tokens
  • focus-ring tokens
  • form states
  • error-message patterns
  • target-size rules
  • keyboard behavior
  • alt-text guidance
  • component accessibility notes

This connects Accessibility with reusable design decisions.

What Makes A System Useful

A design system is useful when people can use it to make decisions.

It should answer:

  • what component should I use?
  • when should I use it?
  • what variants exist?
  • what can change?
  • what is fixed?
  • what accessibility rules apply?
  • how should developers implement it?
  • how do we propose a change?

Without answers to those questions, the system risks becoming only a visual archive.

In UID 07

Francesco Improta’s lesson frames a design system as a product that serves other products.

The goal is not to make a beautiful library. The goal is to help designers, developers, product teams, and stakeholders make clearer, faster, more consistent interface decisions.