February 7, 2022
Design
Blog post read time icon
2
 min read

Using Atomic Design

UX/UI design can get incredibly messy with even small projects. To help keep things organized, I utilize a design system called Atomic Design which was invented by Brad Frost.

As with many other designers, I’ve made my own modifications to Atomic Design. In the content below, I’ll talk about how I work with this design system.

Atomic Element Layout

In traditional Atomic Design the element types are Atoms, Molecules, Organisms, Templates, and Pages.

This is my modification to the elements:

  • Brand Styles
  • Atoms (a) — “Small” elements such as buttons, input fields, or user profile photos
  • Molecules (m) — “Medium” elements such as inputs with labels, various button states, or user profiles with stats next to them.
  • Organisms (o) — “Large” elements such as a user’s profile card, a contact form, or a section of a website
  • Templates (t) — Entire pages that can have slight variations in different situations such as a user profile before their email is verified and then after their email is verified.
  • Archive (x) — This is where all of the elements that you are no longer using go, just in case you need to re-access them in the future.

Naming Convention

Having a standard naming convention is incredibly important to keep things organized in your Sketch, Figma, etc file. I subscribe to the idea that this naming system should be simple, yet flexible to meet any situation.

My naming system typically follows this structure:

(type: atom, molecule, etc) / (class: button, input, etc) / (subclass A: state, color, size, etc) / (subclass B: state, color, size, etc)

As a general rule, I don’t like to drill down more than 4 times in an element’s “name” (type / class / subclass A / subclass B). This helps reduce the amount of time to find a certain symbol when you are looking for it. To help keep elements within this framework, I use dashes for very similar classes instead of breaking them into subclasses.

For example:

m/input-text/small/filled

  • Element Type = m
  • Class = input-text
  • Sub Class 1 = small
  • Sub Class 2 = filled

If you have any questions or are looking for a designer, feel free to reach out: https://www.danstrangfeld.com/contact

Get an email for new posts

Other articles

Pitch Deck Design Principles

Just like anything, good design becomes possible for anyone to achieve once they understand a few fundamentals. In this post, I’m going to walk you through the fundamentals that I use to design pitch decks. This post will only focus on the design aspect of decks, not what to include, how to pitch, etc. There are already many great resources out there to learn those skills. I think simplicity is best so I’ve narrowed things down into 4 main principles which each contain a few sub-points within them. With that being said, let's start with...

Read time icon
4
 min read

Building Early Stage Company Websites (Quickly)

You can build a website for your startup within a week that looks like it cost $10,000 to have built. Yes, you. Not only that, but you can build it with about $300 or potentially just $20 if you are a current student at a university. How? Webflow templates. I recommend using Webflow for 90% of people as long as they have basic experience with other editor interfaces such as Photoshop, Illustrator or even PowerPoint. Webflow is on the bleeding edge of no-code web design and continues to innovate faster than any of the other services trying to copy...

Read time icon
3
 min read

Pitch Deck Handbook: Existing Solutions Slide

The Existing Solutions Slide shows how existing solutions/competitors fail to solve the problem(s) you mentioned. It should include; examples of current solutions/competitors along with how or why those solutions/competitors are failing to solve the problem. The Existing Solutions Slide typically comes after the Problem Slide or Why Now Slide.

Read time icon
2
 min read