Building an atomic based design system

UX & Product designer, 2019 - 2020
Responsibilities
User research, user experience design, interface design, concept development, product development,  accessibility, prototyping, user testing

Client

Statistisk sentralbyrå (SSB) is the national statistical agency of Norway. It is an independent body responsible for collecting, analyzing, and disseminating official statistics about various aspects of Norwegian society. SSB plays a crucial role in providing accurate and reliable data for decision-making processes in both the public & private sectors. It’s also responsible for over 90% of the official statistics published in Norway.

Speaking of statistics, here are some facts about Norway (updated 2023)

Project scope

In connection with a new visual identity and transition to a new Content Management System (CMS), SSB wished to create a design system consisting of visually updated components that are ready coded and can be used for building the content in the new CMS system. Additionally, all the components should be compiled into an interactive web solution in the form of a internal design system page, creating a shared and comprehensive platform that can be utilized for building future digital products at SSB.

The new branding colors
The new typography guidelines

Atomic design

SSB wanted to design the new design system from scratch and structured it using the Atomic Design methodology, which basically means breaking down page elements into their smallest components at the atomic level (e.g., an input field, a button) and by combining the smaller atomic components creating more complex components at the molecular level (e.g., a search field) which in turn, combine to create more complex organisms like a navigation menu or a footer. Templates provide a framework for arranging the different components on a page, and pages are the final instances of the design system, representing complete web or app screens.

The basic concept of Atomic Design by Brast Frost
Problem to be solved
How can we build a design system that is easy to use but also scalable and flexible?

Project opportunities

By creating a design system, we can create consistency across projects and platforms for the user. Instead of having 9 different buttons (SSB did have this many...) , we could have 1 button instead
By building a design system from the scratch we could minimize the amount of work load on the developers, they can just integrate a ready-made component into their project
We had the chance to make sure that the new components are both visually aligned with the new brand and at the same time satisfy the accessibility needs

Design process

Starting with the smallest of components aka. the atoms. The first step was to mapping out what exists today at SSB. Gathering all variants of the same components in one place meant that we could see what we could build upon and what would be discarded. We then went over each of the components layer for layer to cover each variation and state of the component. Going from Atom to organisms. This was a continuous design process where we would release a component and test it with the developers.

During the project I worked mainly in Sketch with the Zeplin plugin for developers and during the project I also created animations and prototypes using Principle.

I was also responsible for holding demo’s every other week in front of all the teams and stakeholders at SSB, to showcase the progression of the design system, what has been done the past two weeks. This also helped us to create both awareness within SSB and the internal teams, as it was important for us to brining them onboard of the new system.

Creating one unified styling for primary button and secondary buttons
Creating one unified styling for primary button and secondary buttons in dark mode as well

Accessibility

It was very important for us when updating and redesigning the components to make sure that we met the highest accessibility criteria (WCAG). As SSB is an state owned company publicizing statistics that impacts many peoples lives. We always made sure that we checked not only contrast, alt text and sizing. We also made sure with the developers that the implemented components integrated correct tags, description and necessary information to uphold good accessibility across devices and usage.

We gave each member of the team a physical copy to hang it on their desk to be reminded of accessibility

Results

Some of the guidelines/components we managed to update and introduce to the design system
Front page of the new SSB design system
A component page within the new design system
An example of a statistic page on SSB built with the new components that we introduced in the design system: Top bar, navigation, search bar, breadcrumb, number showcase, dropdown and diagram layout

Conclusion

This was the first time I had the chance to build a new design system from scratch. At the start it was a challenge to grasp everything that had to be considered when building a design system. But thinking back now, I learned sometimes its better to just start with 1 piece of the puzzle first. For me, this was starting with what needs do we have today? By utilizing atomic design, we could focus on the smallest building blocks first in order to scale up and move on the bigger and more complex components.

Personally, it was a really rewarding journey going from a complete design system beginner, to be able to actually build a functioning system used by many teams and people today.

Feedback and imapct of the new design system
- The new design system managed to save lots of time for SSB as it usually publishes a lot of the same type of pages with the same setup
- The design system was also used in a pilot program to create a new SSB resaerch product, the product team reached out to us and gave us positive feedback of the ease of use and the time it took to setup a prototype page
- At the end of  2020 SSB used the design system to rebuild their entire website from the ground up, which was really awesome to see!