How I co-led a full component audit and built a scalable design system to improve speed, consistency, and collaboration across internal tool teams within a large telecommunications company.


Challenge
Our internal tools were built in silos, each with its own set of UI decisions. Across more than 12 products, this led to fragmented and inconsistent components, creating friction for designers and engineers and slowing feature delivery.
Insight
A design system audit uncovered over 25 duplicate components and confirmed the need for unified patterns, consistent interaction models, and scalable documentation to support future growth.
Outcome
We launched a cohesive design system adopted across two internal
products, creating a consistent user experience and a scalable foundation
for the development of future tools.
products, creating a consistent user experience and a scalable foundation
for the development of future tools.
Roles, Responsibilities & Timelines
I led a team of four designers in auditing, standardizing, and building components, facilitating collaboration across the design team. The initiative was completed in approximately two months.
The Process
Building a design system for 12+ internal tools required balancing speed, consistency, and scalability. I began by mapping the current landscape—identifying redundancies, gaps, and patterns across products—before bringing designers and engineers together to define a shared visual language. Through iterative reviews, documentation, and close collaboration, we transformed a patchwork of UI decisions into a unified, reusable system that accelerates delivery and supports future growth.
Building a design system for 12+ internal tools required balancing speed, consistency, and scalability. I began by mapping the current landscape—identifying redundancies, gaps, and patterns across products—before bringing designers and engineers together to define a shared visual language. Through iterative reviews, documentation, and close collaboration, we transformed a patchwork of UI decisions into a unified, reusable system that accelerates delivery and supports future growth.
Auditing for Clarity
I began by auditing every component that we started to use across two of our internal tools during some blue-sky fidelity work, uncovering 25+ duplicate components and multiple inconsistent UX patterns. This mapping exercise created a single source of truth for what existed, where accessibility gaps occurred, and which areas of the UI were causing the most friction for designers and engineers.
I began by auditing every component that we started to use across two of our internal tools during some blue-sky fidelity work, uncovering 25+ duplicate components and multiple inconsistent UX patterns. This mapping exercise created a single source of truth for what existed, where accessibility gaps occurred, and which areas of the UI were causing the most friction for designers and engineers.


Leading Alignment
With a clear understanding of our intention to build a unified system at the request of our client, I facilitated workshops to align us designers on shared principles, naming conventions, and unified patterns. We divided ownership of components, collaborated on refinements, and built consensus through iterative feedback sessions—securing buy-in for a centralized system.
With a clear understanding of our intention to build a unified system at the request of our client, I facilitated workshops to align us designers on shared principles, naming conventions, and unified patterns. We divided ownership of components, collaborated on refinements, and built consensus through iterative feedback sessions—securing buy-in for a centralized system.
Dynamic Type: My Rabbit Hole
It's not a design system build without an unnecessary rabbit hole. During our typography discussion, I explored implementing dynamic type scaling to improve accessibility and responsiveness. After testing multiple approaches and weighing technical constraints, I concluded that introducing it at this stage would add complexity without meaningful user benefit, preserving focus on the system’s core needs.
"One will be "Dynamic Type - Desktop"; the other will be Dynamic Type - Mobile". Now you'll figure out what you're 100% default will be for desktop, then use excel to calculate the rest. Then you'll need to duplicate to create a 3rd one, and you can call it "Dynamic Type - Master Set" or something. Delete all the mode except for two and name them Mobile and Desktop." - in a nutshell, yes complicated
It's not a design system build without an unnecessary rabbit hole. During our typography discussion, I explored implementing dynamic type scaling to improve accessibility and responsiveness. After testing multiple approaches and weighing technical constraints, I concluded that introducing it at this stage would add complexity without meaningful user benefit, preserving focus on the system’s core needs.
"One will be "Dynamic Type - Desktop"; the other will be Dynamic Type - Mobile". Now you'll figure out what you're 100% default will be for desktop, then use excel to calculate the rest. Then you'll need to duplicate to create a 3rd one, and you can call it "Dynamic Type - Master Set" or something. Delete all the mode except for two and name them Mobile and Desktop." - in a nutshell, yes complicated


Building for Scale
Using the insights and decisions from the audits, we developed a scalable library with standardized components, tokens, and robust documentation. The file structure supports product- and device-specific variations, ensuring the system can evolve alongside future tool development. The diagram on the right shows the structure for our files and a scalable solution - allowing other internal tools to feed from a cohesive library of 'Base'.
Using the insights and decisions from the audits, we developed a scalable library with standardized components, tokens, and robust documentation. The file structure supports product- and device-specific variations, ensuring the system can evolve alongside future tool development. The diagram on the right shows the structure for our files and a scalable solution - allowing other internal tools to feed from a cohesive library of 'Base'.



Results, Impact & Learnings
This new design system in place has reduced duplicate components by 60%, accelerated delivery of internal tool features by 30%, and become the standard toolkit for 2 teams working on consolidating 8 legacy apps. This foundation has enabled faster onboarding, improved developed handoff, and scalable design for future products.
This new design system in place has reduced duplicate components by 60%, accelerated delivery of internal tool features by 30%, and become the standard toolkit for 2 teams working on consolidating 8 legacy apps. This foundation has enabled faster onboarding, improved developed handoff, and scalable design for future products.
