Crafting Design Systems

Two companies, two exceptional journeys.

Creating a design system is like laying the foundation for a skyscraper – it requires vision, precision, and a deep understanding of the structure's purpose. Over the past few years, I had the opportunity to build two distinct design systems for two different companies, each with its own set of challenges and goals.


These experiences not only honed my skills as a UX designer but also underscored the immense value a well-crafted design system brings to any organisation.

Company 1: Building a Design System from scratch

In the first company, I was tasked with creating a new design system for in-bank applications, both mobile and desktop. The existing components were outdated, poorly designed, and riddled with inconsistencies, leading to frustration among designers and inefficiencies in the design process. The design system needed an overhaul – it required a complete rebuild from the ground up.


😥 Challenges faced:

- Outdated components. The old components were not functioning correctly, leading to inconsistencies in mockups and a higher risk of errors.

- Time and budget constraints. Building a design system from scratch is inherently time- and money-consuming, with a constant balancing act between quality and deadlines.

- Maintaining consistency. Ensuring that the new components would harmonize across both mobile and desktop platforms was a critical challenge.


🎯 Guiding principles and goals:

- Consistency and functionality. My primary goal was to create a design system that would bring consistency across all in-bank applications, ensuring that every component worked seamlessly together.

- Modernization. I aimed to refresh the visual elements, making them more functional, modern, and tidy.

- Scalability. The new design system needed to be robust and flexible enough to accommodate future projects, enriching them with new features and solutions.


🧘‍♂️ Positive impact:

- Improved efficiency. By standardising the design elements, the risk of errors decreased, and the design process became more streamlined and efficient.

- Team reception. The refreshed design system was met with enthusiasm by both users and developers, who appreciated the clear guidelines and cohesive look it provided.

Company 2: Building a Design System for legacy applications

based on Telerik library

In the second company, I was responsible for developing a new, cohesive component system based on Telerik tools for desktop applications. This project was particularly challenging because it involved legacy systems that had been in use for years. The design system needed to integrate seamlessly with these older applications, maintaining as much consistency as possible while still introducing modern improvements.


😥 Challenges faced:

- Legacy system constraints. The legacy systems had specific requirements and limitations that had to be respected, making it essential to ensure the new design system was compatible with existing applications.

- Tool constraints. Working within the Telerik framework meant that the design system needed to be both innovative and compliant with the existing tools.

- Cross-application consistency. Ensuring a unified look and feel across multiple legacy applications, each with its own unique requirements, was a significant challenge.


🎯 Guiding principles and goals:

- Respect for legacy systems. The design system had to honor the structure and functionality of the existing legacy applications, ensuring that the new components fit seamlessly without disrupting user workflows.

- Cohesion and usability. My goal was to unify the visual and functional aspects of the applications, making them not only consistent but also easy and intuitive to use.

- Collaboration. Facilitating smoother collaboration between designers and developers was crucial. A clear and reliable design system would help bridge any gaps between teams.


🧘‍♂️ Positive impact:

- Seamless integration. The new design system successfully integrated with the legacy applications, maintaining consistency while refreshing the interface to meet modern standards.

- Streamlined processes. The system provided a reliable and consistent framework that made the development process smoother and more efficient, especially when working with legacy constraints.

- Improved user experience. The end-users benefited from a more intuitive and harmonious interface, enhancing their overall experience without compromising the familiarity they had with the older systems.

- Positive team feedback. The system was well-received by all teams, who appreciated the clarity it brought to their work and the reduction in design inconsistencies.

Key takeaways and reflections.

Both of these projects taught me the critical importance of a well-structured design system. A strong design system does more than just unify aesthetics; it drives efficiency, fosters collaboration, and enhances the user experience. It requires careful planning, attention to detail, and a clear understanding of both current needs and future possibilities.


In the first company, the challenge was to build something entirely new, whereas in the second, it was about balancing innovation with respect for existing legacy systems. The biggest challenges lay in balancing the need for innovation with the constraints of existing tools and the demands of consistency across different platforms. However, the rewards were immense – not only in terms of the final product but also in the positive reception from both users and team members.


In the end, the design systems I created in these two companies became the foundation for more cohesive, efficient, and user-friendly applications. They also demonstrated the power of thoughtful design in transforming legacy systems into modern, competitive tools that support both the business and its users. Having an organised and comprehensive design library is a long-term investment that will save both time and money in the future. Every hour spent on creating design system is truly worth it.