building a design system
starting from scratch ain't easy! but here's how I did it.
problem
How can I build a design system using an existing brand and minimal already-built components that serves the needs for both designers and developers?
Overview
Upon joining ZoomInfo in 2022, there was no design system present for the core website and brand. Due to inconsistent designs, a lack of components, and no documentation on how components should function there was confusion between teams about what was "correct" resulting in extended timelines and increased frustration.
Discovery
Research
I viewed as many public design systems as I could, ranging from well-known favorites to smaller brands I found on designsystemsforfigma.com, I analyzed the best and worst parts of each of them, including organization, naming conventions, and build.
In tandem, I set up meetings with our web designers, our developers, and my counterpart on the product team to hear what was most important to them in a design system and determined the following:
Initial Implementation
In my first go at building a design system, I chose to separate our Figma library into two sections: Components (i.e. buttons, text links, cards, etc.) and Patterns (i.e. heroes, banners, and templates). Based on the problems I had initially heard from designers and developers it seemed like this execution was the correct solution, but slowly the feedback from both teams started rolling in:
Current Implementation
In a way, this feedback came at a perfect time as we were about to start a brand refresh, giving me the opportunity to take a second look at our components to see what we wanted to keep, change, and deprecate.
I made the choice to work more closely with the development team this go-around and we decided on updating the system to a truly component-based, atomic system that allowed designers to have flexibility within the CMS to be creative while still keeping the code clean and repeatable for developers. During this process:
Currently, I'm working with the development team to enhance our design system even further by applying variables to our Figma Design System and writing out further dev-based documentation that isn't already supported in Figma Dev Mode.
ResultS & The Future
Through all of the research and endless hours spent overthinking the best possible way to create a design system I realized what was most important was not building the most innovative system to grace the design world, but building a system that allowed my teams to do their jobs efficiently, creatively, and happily. As a result of the current design system:
While I'd love to call this a "final" implementation, the design world is always changing with fast trends, better research, and new program updates and I'll be updating this design system right along with them!