top of page
Writer's pictureRobert Ramos

A Case Study: Developing a Design System from Scratch for Nexus


Client

Node4 Ltd. United Kingdom

Timeline

March 2021 - February 2023

Industry

Information Technology


Introduction

Picture a blank canvas, a new software project in its early stages, full of potential but lacking visual harmony and consistency. This article tells the story of my experience of creating a design system from scratch when I joined my previous company, Node4, illustrating how it transformed our software and set the stage for a remarkable user experience.


To add more depth to this story, it's important to note that this software was a special project initiated by the CEO, separate from the company's existing software development team. They hired a new team of architects, engineers, developers, and a UX designer as contractors, exclusively dedicated to the Nexus project, with a clear mission to follow its unique roadmap.


Nexus aimed to become the organization's primary source of truth, replacing costly and outdated legacy software frameworks.

User interface before I joined the team



User interface after I developed the design system




💆The Challenge

When I first joined the company, I was met with a unique challenge - we had a new software project in the early stages of development. It was a fantastic opportunity, but it lacked a cohesive design. Each page and feature had its own look and feel, causing confusion for users and inefficiencies in development. The team was using unattractive UI library from Github repositories.


 

Building the Design System

1. Research and Discovery

Starting fresh, I began a thorough research phase. I talked to users within the company and ran interviews to understand what they needed and what problems they faced. I also checked out what our competitors were doing to see what's standard in the industry. I also checked how accessible our current product is by using the WCAG 2.1 checklist and looked for places where we can improve usability using basic UX design heuristics.



2. Creating the Foundations

I was inspired to use Brad Frost's Atomic Design System, as I found his methodology effective for organising UI components in Figma.


Atomic Design as illustrated from Brad Frost web site
Atomic Design as illustrated from Brad Frost's web site

​What is atomic design? Atomic design is methodology for creating design systems. There are five distinct levels in atomic design: Atoms, Molecules, Organisms, Templates and Pages.

The screenshots below from Figma are the actual list of my UI components organised using 'atomic design'.







I developed the visual identity of the design system, aligning it with our existing company brand guidelines. I carefully chose a versatile font system that suits the web application. I collaborated with the company's Marketing department to select appropriate imagery for the portal. In terms of the colour palette, I made a few adjustments to the company's original palette to ensure it met general accessibility standards effectively.


Colour System
Colour pyramid
Colour strategy for the whole web application
Font System
Screenshot of Nexus' Font system
Screenshot of Nexus' Font system

 
Grid and Spacing System

As someone with over a decade of experience as a Graphic Designer, achieving pixel-perfection is an obsession. I introduced an 8pt Grid System to the team. I had to explain to the developers the significance of this system for maintaining consistency in the overall look of the web portal and how it would benefit them by seamlessly integrating the same system into their coding process.

Screenshot of our 8pt Grid System
Screenshot of our 8pt Grid System from Figma

Screenshot of the spacing system
Screenshot of the spacing system still based on 8 points grid
Iconography

My team uses 'FontAwesome' font icons for the iconography.

Screenshot of basic icons being used in Nexus
Screenshot of basic icons being used in Nexus
Button System

I designed a button system that differs significantly from the company website because I felt the aesthetics didn't align with the web portal's design system. I opted for a simpler button style without unnecessary decorations.


Screenshot of the button system's primary buttons
Screenshot of the button system's primary buttons


3. Components and Patterns

Creating a library of reusable components was a pivotal step. These building blocks would ensure a consistent and efficient design process as we developed the software. We also established clear guidelines for their usage.


Table System

The most crucial aspect of the software is the data table components, which keep data organised and simplify the lives of end users. I've created a couple of data table types to accommodate various data formats. First, there's the basic list table, as shown in the screenshot below:

Basic list table

Second type of data table below is an accordion with mini inspect:

Accordion with min inspect table

Another version below is an accordion tree table:

screenshot of another table design with accordion and nested list

I designed the centrepiece of the data table system below and named it the 'Modular Toolbar.' The name reflects its adaptability – we can easily add or remove features from the toolbar depending on the type of data in the list. Our research revealed that users demand an efficient and fast way to find data in the table, including the ability to display the number of search results and the option to sort and filter data according to their preferences. As a result, I developed this design and made it a top priority to ensure it was developed and released as soon as possible.

Screenshot of the Modular Toolbar anatomy

 

4. Documentation and Updates

Comprehensive documentation was crucial. It facilitated seamless collaboration between our design and development teams. Just like in previous product design teams I've worked with, everyone was required to document every detail. It's not anyone's favorite task, but it's a necessity. We used Confluence to document updates, team meetings, job requests, design discoveries, coding guidelines, design guidelines, research, and studies. My design system was no exception. I had to make it accessible to the entire team and ensure they knew where to find UI components whenever they needed them. The design system is an ongoing development that never ends. It evolves to meet user needs and demands, just as my role as a Product Designer requires me to stay up-to-date with the latest trends and innovations in UX design.

Screenshots of a documentation in Confluence

 

Implementation and Results

The design system was a breath of fresh air for our software project. It unified the visual identity and streamlined the development process. As we implemented the system, we observed measurable improvements in design consistency, efficiency, and user satisfaction.


 

User Feedback and Iteration

User feedback played a critical role in refining our design system. With each release, we welcomed feedback and made iterative updates, ensuring that the system evolved alongside our users and the ever-changing industry standards.


 

Benefits
  • Consistency: The design system transformed our software into a cohesive and user-friendly experience.

  • Efficiency: Design and development teams operated more efficiently, saving time and resources.

  • Scalability: The system allowed us to scale our software as it gained popularity.

  • User Satisfaction: Users were happier and more engaged, leading to positive word-of-mouth.


 

Conclusion

Creating a design system from scratch is a journey of transformation and growth. It takes a vision, meticulous planning, and a commitment to putting the user experience first. For our software project, it was a pivotal moment that set the stage for long-term success.


 

Let's Work Together

I am passionate about helping new software projects and businesses embark on their own design system journeys. If you're looking for a UX designer to craft a design system that elevates your software project, please feel free to get in touch.


 

Final Thoughts

The experience of building a design system from scratch is a rewarding one. It not only enhances the user experience but also simplifies the design and development processes, creating a foundation for a bright and consistent digital future.



End of post

21 views0 comments

Recent Posts

See All

Commenti


bottom of page