design system
When your design system becomes a bottleneck
Fixing a legacy design system by eliminating design and technical debt to restore speed, consistency, and scale across a global B2B product.

Intro
Managing a design system for a global B2B platform is a constant balance between consistency and speed of delivery. In the project I joined, I was working with a 3-year-old library that, instead of supporting growth, had become a bottleneck.
There were plans to launch the product in new markets, and in its current state this would require hours of manual, repetitive work. With the growing scale of the product, this created high costs, as well as a high risk of errors and delays.
As a Product Designer responsible for maintaining the library, I identified an urgent need to transform the system - moving from static components to full automation based on variables, fully using Figma’s capabilities.
In this case study, I show how I eliminated design and technical debt and closed the gap between design and code, creating a scalable Single Source of Truth environment that consisted of the Figma variables-based library, aligned token naming, and governed documentation - used consistently by design and engineering that significantly accelerated the work between team.
Project Overview
Product:
Global B2B platform (Web & App) for engaging and educating retail sellers
🌐
My Role:
Product Designer / Design System Owner
🧩
Scale:
36 markets (including Canada, Egypt, Saudi Arabia, Singapore)
🗺️
Team size:
4 Product Designers, 23 Developers, Product Owner
🧑💻
Responsibility:
Audit, reorganization of the component library, automation implementation, and process optimization
⚙️
Problem & Insight
With plans to scale the platform to new markets, our existing library reached its limits. What initially were small inconsistencies turned into system-level blockers.
The lack of automation and failure to adopt new Figma features made consistency a manual process, while additional mismatches with development created an environment prone to errors and inefficiency.
Issues identified during the audit
Goals & Success Criteria
Before creating the first component, my key challenge was building a shared understanding of the problem across the organization. I did not present this project as a “UI facelift”. I positioned the Design System as a strategic enabler of speed, consistency, and scalability. To overcome resistance, I tailored the message to each stakeholder group.
Engineering Leadership
⚠️
Concern
Fear of spending time “rewriting” repositories.
🧠
Argument
I showed that the existing chaos (inconsistent naming and missing typography tokens) created massive technical debt. I promised a library whose structure would mirror the code, significantly reducing implementation time.
Product & Business
⚠️
Concern
Fear that standardization would limit flexibility for local markets.
🧠
Argument
I shifted the focus from “limitations” to scalability. With Variables, new markets could be launched in days instead of weeks, with full control over branding.
Design Team
⚠️
Concern
Loss of creative freedom and fear that system changes would break existing screens.\
🧠
Argument
I explained that automation would remove repetitive tasks and free time for real UX problem-solving, while system changes would be handled safely and continuously improved.
Strategic Goals
⚡
Velocity
Faster delivery from concept to implementation using ready-made building blocks.
📈
Scalability
Creating a foundation that allows new markets to be added without exponential cost growth.
🧩
Consistency
Eliminating visual differences across markets and platforms to build user trust and a strong global brand.
Projected Impact & Target KPIs
📉
+/- 40–50% reduction in frontend implementation time
Thanks to full alignment of token and component names between Figma and code
⏱️
+/- 2× faster prototyping
Designers could create high-fidelity views in half the previous time
🚀
+/- 80% faster market adaptation
Replacing manual screen edits with automatic variable mode switching
Process
Diagnosing real problems
I started with an audit, collecting facts, data, and feedback from teams to clearly identify issues and estimate effort.
Identifying technical debt
👉
I interviewed designers who used the library daily.
👉
Components contained many bugs and no longer met current needs.
👉
Some components failed WCAG requirements, including the minimum 3:1 contrast.
👉
Icons caused the most frustration - poor scaling and color issues.
Based on this, I created a prioritized rebuild plan, starting with the most used and unstable components.
Design–Code analysis
👉
Developer interviews revealed naming and structural mismatches.
👉
This caused long hand-offs and frequent misunderstandings.
👉
40% of gray tokens were never used, making color selection difficult.
👉
The color system required optimization to reflect real usage.
During the audit, I identified tokens that have never been used
Style audit
👉
Typography chaos forced manual RWD changes, causing errors and wasted time.
👉
Files contained unused experimental leftovers.
👉
Colors used physical names (e.g. Blue/500), which broke logic after rebranding.
An example of how styles were organized before the transformation.
Result
Optimize the color palette and introduce Variables for typography to automate responsive behavior.
Structure planning
Color tokenization
A two-level system was introduced to separate raw values from meaning.
Level 1 Primitives (Raw Values)
The Figma variables screenshot shows the color organization of global tokens (level 1).
Level 2 Semantic Tokens (Meaning & Usage)
The Figma variables screenshot shows the color organization of semantic tokens (level 2).
Result
This resulted in an intuitive, scalable structure and allowed one-click palette changes per market in Figma.
Typography tokenization
This solved the issue of manual responsive typography switching.
The Figma variables screenshot shows the typography organization.
The process of fixing the checkbox component without breaking connection with instances
From this point, switching Desktop ↔ Mobile automatically updated all font sizes.
System build (Execution & Automation)
This was the technical phase where variables were implemented, bugs fixed, and missing states added.
The process of fixing the checkbox component without breaking connection with instances
New ways of working (Governance & Quality)
To ensure long-term stability, I created documentation as a Single Source of Truth.
Figma’s Specs plugin was used for visual documentation.





