Atomic design

Design method

Atomic design, designing an interface by assembly

For a long time, designing an interface meant drawing pages based on the print model. Screens have multiplied, from watches to wall projections, and a fixed page no longer holds up. Interfaces are now conceived as assemblies of components.

Brad Frost formalised this logic in 2013 under the name atomic design, borrowing its vocabulary from chemistry. An interface is broken down into 5 levels, from atoms to pages, each assembled from the previous one.

The value of the method lies less in the breakdown than in the shared vocabulary it creates. A designer and a developer who say "molecule" mean the same thing, and that thing exists on both sides, a component in Figma, a component in the codebase.

What is atomic design for?

  • Giving interface components the same names in Figma and in the code
  • Reusing an existing component rather than redrawing a variant of it for every screen
  • Spotting duplicates in an interface that has grown, two buttons for the same action, three almost identical cards
  • Changing an element in a single place, a colour or a border radius that propagates everywhere the atom is used
  • Documenting a component once, with its variants and its usage rules, rather than answering the same question on every project

Why adopt atomic design?

  • Setting up or restructuring a design system in an organisation that has many products
  • Reducing design debt in a product where components have multiplied without a shared logic
  • Making it easier to onboard new designers into a team with a clear structure

Where does atomic design come from?

For a long time, designing an interface meant drawing pages based on the print model. Screens have multiplied, from watches to wall projections, and a fixed page no longer holds up: interfaces are now conceived as assemblies of components.

Brad Frost formalised this logic in 2013 under the name atomic design, borrowing its vocabulary from chemistry. An interface is broken down into five levels, from atoms to pages, each assembled from the previous one. The value of the method lies less in the breakdown than in the shared vocabulary it creates: a designer and a developer who say “molecule” mean the same thing, and that thing exists on both sides, a component in Figma, a component in the codebase.

What are the 5 levels of atomic design?

Each level is assembled from the previous one:

01

Atoms

individual elements. For example: an image template, a button, an icon.

02

Molecules

made up of atoms that form a whole. For example: a navigation menu is a molecule, built from atoms like the logo, a button, the various links, and so on.

03

Organisms

formed from molecules. They correspond to groups of blocks

04

Templates

which represent the overall structure of the page (but without the final content). Then pages, holding all the final elements (along with text and images)

In practice

Still with a view to improving communication and work between developers and designers, it is important to name your components properly. Each element must be named in lowercase, with words separated by hyphens. This convention gives developers elements that are easy to implement. Start with the letter representing your atom (a for atom, m for molecule, o for organism, and so on); then the type of element and its variations.

Example for your primary button: a-btn-primary. Be careful to name components according to their function, not their form (colours, shapes, visual style). Don’t forget that your style guide will evolve. Example not to follow: a-btn-red

Frequently asked questions

A few of our case studies

Design system

A design system is a component library and the governance that comes with it. What sets it apart from a design kit, and when it becomes necessary.

Read more about Design system

Design pattern

A design pattern is a proven solution to a recurring problem: breadcrumb, modal, accordion. These conventions exist because they work for users.

Read more about Design pattern

Design Kit

The design kit, or UI kit, brings together a product's components in a design file: buttons, forms, cards, navigation, icons.

Read more about Design Kit

Information architecture

Information architecture organises content and navigation so that users find what they're looking for. It guides interface design

Read more about Information architecture

Design Ops

Design Ops optimises the practice of design: tools, processes, handoff, documentation. It lets designers focus on designing rather than on managing.

Read more about Design Ops

Interface design

UI design shapes the visual layer of a product: layout, colours, typography, components. It turns the experience into tangible elements.

Read more about Interface design

Curious to learn more about us?

Everyone talks about user experience, service design, ergonomics...
It's not always clear, and you'd like to find out, or sharpen what you already know.

Let's talk