As part of our enterprise product stream, I designed a design system for consistent interaction and visual language for our product (along with the many other benefits we all know about). Being the only designer on this project, it was challenging to create a design system in parallel with my day to day workload leading the platform's design. As a result, there wasn't much time to put into a structured design operations process, audits, and regular QA and component inventory management. We created and implemented the design system foundations and now with more designers and frontend developers, we are trying to develop it further in a more structured way.

Here are some of the things I learned from my experience:

Audit your resources before auditing the product
During the design system creation process, it is essential to choose an approach that suits the team's available resources and time constraints. This approach can streamline the creation, testing and maintenance processes.

Find your design system frontend developer
Collaborating with a frontend developer during the design process is crucial to optimize components and ensure design quality assurance. This collaboration saves time and helps implement the design system smoothly.

Start having the technology framework discussion early
It is vital to initiate discussions regarding the framework and technology options with the development team from the beginning of the process. This approach ensures that the chosen technology and framework can fully support the design system.

Clinically opt for a small set of components
To maximize efficiency, prioritize clinically essential components at the start of the process. A small set of essential components can be created first to ensure accurate, usable components.

Choose a reference library for components
When creating a design system, defining a reference for pre-existing components and interactions is very helpful and there are several available in the market. Reference framework makes it easy to add new components by modifying existing components and using them as a foundation for custom components.

Write up a short guideline for your team to create component
When a regular design system inventory is not feasible, a minimum of a clear set of guidelines on help different teams update the design system using the a common set of principles asynchronously.

Low effort - high impact of an effective type scale
An effective and visually appealing design system relies heavily on a cohesive and uniform type scale. Spending time to establish a solid typographic foundation can make a huge difference in the overall look and feel of the interface, while also making information easier to read and understand.

Creating a color scheme with a limited palette
By simplifying your color scheme and using a limited palette, you can avoid the inconsistencies that often result from overly complex color scales. Instead of having a huge color shade card at your disposal, consider reserving it for special cases and keeping your design system library focused on a more refined selection of colors.

Demonstrating components with sample screens
One way to help people get started with your design system is to provide a library of sample screens that showcase how components can be used within a broader context, rather than solely focusing on documenting individual components. This can be especially useful if you don't have time to write comprehensive documentation on each and every use case.