Lotta Sandebäck
Building a Design System for a rapidly growing company
Background / Problem
In 2019, we recognized the necessity of adapting to rapid and frequent design changes prompted by expanding teams of developers, designers, and product teams. Previously, with only one development team and myself as the sole designer, our approach was unsustainable for future growth.
To address this challenge, two other developers and I embarked on designing and implementing a unified design system. This initiative aimed to synchronize the design work done in Figma with the development work executed in Storybook.
Company:
​
Detectify
My role:
​
Product Designer / Product Manager
Team:
​
Product Designer/Product Manager, 2 Developers
Timeline:
​
1 year
Process
01
Planning & Inventory
I started the project by looking at other design systems, along with design trends. I then conducted a thorough review of the current design elements to pinpoint any areas of concern or inconsistencies requiring refinement.
02
Creation of components
We soon recruited a developer to join the team, as our existing developers had other obligations. Additionally, we temporarily enlisted another developer from a different team, dedicating approximately 50% of her time to assist us in building this design system.
​
We usually did one component at a time, and our process for this was the following:
- Building the component in Figma
- Identifying the locations of the component in the app
- Handing over the designed component with all states
- Building the component in Storybook
- Replacing the component within the app
03
Documentation
Comprehensive documentation was created, detailing design principles, guidelines for each component, and best practices for implementation. We used Material Designs guidelines as inspiration.
By implementing a design system, the company achieved greater consistency across the product. It reduced design and development time, and enhanced the overall user experience.
Struggles
I was the only designer within the company for the main product
Because of our limited number of designers— essentially, I was the sole designer — I needed to engage with every development team to provide design input for their respective products. Consequently, this project was consistently treated as secondary due to ongoing product development demands.
Complexity
Design systems can become overly complex, especially in large organizations with diverse products and platforms.​​ To avoid this, it was important to us that we started small, one component at a time. This minimized the scope and made it managable.
Adaptation and Replacement
Most of our time was dedicated to replacing old components with new ones. Coordinating this effort with each team, which owned specific parts of the product/UI, posed significant challenges in synchronization.
Need of new components that didn’t exist
As the company expanded and accelerated its pace, there was a sudden demand for additional components that were not part of our existing design. This necessitated the design of new components to avoid relying on outdated designs.
Learnings
More collaboration and a clear ‘buy-in’ from the company
We made the mistake of not involving the current developers in this project. As a result, there were delays and miscommunications. Midway through, I realized that not all developers were comfortable with our decision to hire someone to lead the project without consulting them first. This was a significant oversight on our part.
Seniority is Key
We didn’t have that many struggles with this project, and I think it was because of how collaborative it was. The only problem was to get the developers to “finish” the design, after they’ve gotten an okay from the MVP we did. They wanted to continue with more features due to the high praise they got from customers.
Accomplishments
- Helped build a new brand
- Ensured consistency and alignment with the new brand throughout the product.
- Taught developers independence in how to use the components and spot designer’s and devs. mistakes
- Boosted designer productivity
- Reduced developing time building new features