© Linh Nguyen D.Q.. All rights reserved.

    All posts
    atomic design
    design systems
    frontend
    UI

    Atomic Design in Software Development

    Linh Nguyen D.Q.
    Monday, December 16, 2024
    4 min read

    Early in my career as a front-end developer, the hardest part of any project was never the code itself — it was keeping components organized and reusable as a codebase grew. Every new feature seemed to invite a new, slightly different button, a new slightly different form field, and before long nothing felt consistent anymore. Atomic Design was the thing that fixed that for me, and it's been a guiding principle ever since.

    Originally published on the Supreme Tech blog.

    Taking cues from chemistry

    Complex structures in the physical world are built from small, modular pieces. Atoms bond into molecules, molecules combine into organisms — each level more capable than the last, but still traceable back to its simplest parts. Architecture and engineering work the same way: a building is a composition of standardized components, not a single object designed all at once.

    Atomic Design borrows that exact idea for interfaces.

    What is Atomic Design?

    Atomic Design is a methodology where designers and developers prioritize building individual components first, then combine them into larger structures — rather than designing whole pages from scratch. Brad Frost introduced the concept in 2013, and its emphasis on small, reusable, independent pieces composing into cohesive systems has made it a default approach for design systems ever since.

    It breaks an interface into five levels, from simplest to most complex:

    1. Atoms — the fundamental building blocks: buttons, inputs, labels, icons. This also covers more abstract atoms like color palettes, typography, and animation timing.
    2. Molecules — two or more atoms combined into a small, functional unit. A labeled input field is a molecule: a label atom plus an input atom.
    3. Organisms — complex components assembled from multiple molecules and atoms. A complete form — several labeled fields plus a submit button — is an organism.
    4. Templates — layout structures built from organisms and molecules. Templates define structure and placement, not real content.
    5. Pages — a template filled in with actual content, ready for a real user to interact with.

    Why it's worth the discipline

    Consistency. Change a button or a color once, at the atom level, and that change propagates everywhere it's used — no page-by-page fixes.

    Reusability. Standardized components get reused across contexts instead of being rebuilt slightly differently each time, cutting down on repetitive work.

    Maintainability. Teams can update one component without touching the rest of the system, and the update reaches every place that component is used.

    Scalability. New components slot in at the right level without disturbing what's already there, so a product can grow from small to complex without a rewrite.

    Shopee's UI design system is a good real-world example — it leans on Atomic Design to keep its interface consistent across a huge, multi-platform product while still moving fast.

    Real-world use cases

    Shopify Polaris

    Shopify's Polaris design system applies the same atoms → molecules → organisms hierarchy to keep every Shopify app's interface consistent, even across a large ecosystem of independently built apps.

    MedusaJS

    MedusaJS, the open-source e-commerce platform, applies Atomic Design across both of its main surfaces:

    Storefront:

    • Atoms — "Add to Cart" buttons, product titles, icons
    • Molecules — product cards (image + title + price + button), nav bars
    • Organisms — product grids, the site header
    • Templates — product detail and category page layouts
    • Pages — the homepage, checkout

    Admin dashboard:

    • Atoms — input fields, action buttons, status badges
    • Molecules — search bars, table rows
    • Organisms — data tables, navigation sidebars
    • Templates — product/order list layouts
    • Pages — the actual product and order management screens

    The payoff in both cases is the same: components get reused across very different interfaces, new features slot in without redesigning existing screens, the whole product stays visually consistent, and — maybe most underrated — designers and developers can actually collaborate around a shared vocabulary instead of talking past each other.

    Wrapping up

    Atomic Design isn't just a naming convention for folders — it's a way of thinking that pays off in time saved, consistency gained, and smoother collaboration between design and engineering. Once the five levels click, it's hard to look at any interface without seeing them.

    Back to all posts