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 itself | Why |
|---|---|
| brand style guide | focuses mainly on identity, logo, color, typography, and tone |
| UI kit | gives reusable objects but may not explain how, when, or why to use them |
| component folder | stores interface pieces but may not include governance or decision logic |
| finished deliverable | a design system must evolve with products and teams |
Main Parts
| Part | Role |
|---|---|
| Design Tokens | named decisions for color, type, spacing, radius, motion, and other values |
| Design Library | reusable components and variants inside the design tool |
| components | interface pieces such as buttons, cards, inputs, modals, tabs |
| patterns | recurring solutions such as login, forms, empty states, onboarding |
| templates | reusable page or flow structures |
| Design System Documentation | explains how and when to use the system |
| Design System Governance | defines ownership, contribution, updates, and maintenance |
Design System Parameters
Before building a system, the team should define its boundaries.
| Parameter | Question |
|---|---|
| rigidity | should it be flexible guidance or strict rules? |
| modularity | does it contain global elements, specific components, or both? |
| organization | is ownership distributed, centralized, or hybrid? |
| scalability | is 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:
- define the system goals
- define the parameters
- decide what to include
- run an Interface Inventory if a product already exists
- identify repeated decisions and inconsistencies
- create the first tokens
- create reusable components
- document usage rules
- 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
-> HandoverEach step answers a different question.
| Step | Question |
|---|---|
| Interface Inventory | what already exists and where are the inconsistencies? |
| Design Tokens | which repeated values should become reusable decisions? |
| Atomic Design | how do small decisions become interface parts and pages? |
| Design Library | where do reusable components live in the design tool? |
| Design System Documentation | how should people use the system correctly? |
| Design System Governance | who maintains, reviews, and evolves the system? |
| Handover | how 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.