Building a 254-component Design System that tripled team productivity.

How I unified eight fragmented legacy products into one scalable system as the solo designer supporting a 15-person dev team, on a tight budget, in one year to v1.0.
Role:
Lead Product Designer
Company:
iTradeNetwork
Timeline:
~1 year to v1.0
Discipline:
Design System, Product, UI

254

Components

300%

Productivity Increase

8

Products Unified

1

Designer
Productivity measured by designer wireframe output and developer code commits per sprint.

Context

iTradeNetwork is an enterprise supply-chain platform for the food industry, serving buyers and suppliers across eight separate legacy products. Each product had been built independently, so the same button, form, or table looked and behaved differently depending on where you were in the platform. For a 15-developer team shipping fast, that inconsistency meant duplicated work, slow handoffs, and a fractured user experience. My job was to build the single source of truth that didn't exist yet.

Building a design system from scratch.

Challenge

The hard part wasn't knowing what a design system is. It was building one that could scale under real constraints:

One designer, fifteen developers.

Every hour I spent had to multiply across the whole team — there was no room for open-ended exploration.

Tight budget.

Building bespoke foundations from scratch wasn't an option; I had to be resourceful about what I built versus what I adopted.

Offshore team, multiple time zones.

Handoffs had to be unambiguous — anything open to interpretation would break across the distance.

Eight legacy products on aging tech.

The system had to unify what already existed, not assume a clean slate.

Key Decisions

Each of those constraints forced a specific call. Here's the reasoning behind the ones that mattered most.

Build on open-source foundations to ship from day one.

The products were already live and I had to start producing immediately, under a tight budget with limited resources. A bespoke foundation built from scratch would have delayed the system by months the team didn't have. So I assembled the base layer from proven open-source building blocks and started iterating on day one: Lato for a variable enterprise-legible font; Google's color library with defined accessibility keys; Unicons for iconography; Material Design surface levels for states; and unDraw for flexible, easily customized illustration. With the base defined, I layered on the harder pieces: Wijmo for data tables and visualization logic, and Angular JS for component behavior.

The tradeoff was deliberate: I gave up a bespoke, distinctive visual identity in exchange for speed and reliability. For an internal enterprise platform, that was the right call. Consistency and trust mattered far more than visual novelty, and the hours I saved on foundations went into the parts that were actually unique to iTrade's workflows. The payoff was immediate: I had wireframes implemented within two weeks of launch, and the borrowed foundation measurably increased how fast I could iterate each sprint.

A visual example of the atoms of the design system: colors, typography, icons, and illustrations.
A screenshot of the searching component of the design system, highlighting the purchase order icons.

Rename and govern the icon set instead of using Unicons as-is.

Unicons gave me a fast starting point, but it shipped with far more icons than we needed and names that didn't map to how our team actually worked. Designers were using different icons for the same action, creating a convoluted user experience and an unnecessary headache for developers. Left alone, that inconsistency would erode the visual affordances the whole system depended on. So I pared the library down to what our products needed and built a naming scheme around our use cases, not the library's defaults. Every icon is tied to a specific, agreed-upon meaning. Where the supply-chain products needed something the library didn't have, I designed custom icons in the Unicons style so the set stayed visually unified.

The tradeoff was ongoing discipline: a governed, renamed set meant the team couldn't just pull any icon that looked close. They had to use the right one for the defined use, and I had to maintain that convention as the system grew. It was worth it. Consistent iconography gave users reliable visual affordances across every product, and the intentional naming made the asset library actually searchable. Designers found the right icon in seconds instead of scrolling a bloated set and guessing.

Ship a live documentation repository, not just a component library.

A component library tells you what exists; it doesn't tell you how or when to use it. With one designer supporting fifteen developers across time zones, I couldn't be the bottleneck every team routed questions through. The system had to answer for itself. So I invested the extra time to build a living documentation repository the whole organization could reference: code snippets, usage philosophy, explicit implementation instructions, and live demos of each component in context.

The tradeoff was real: documentation is slow, unglamorous work, and every hour spent writing it was an hour not spent designing new components. I chose it anyway, because a design system that isn't documented doesn't scale; it just becomes one person's tribal knowledge. Making the system self-serve meant developers could implement correctly without waiting on me, which is the entire point of a system in a 15-to-1 environment.

A screenshot of the proprietary documentation website to reference the design system.
The atoms of a design system forming organisms.

Solution

The result was a 254-component system living in three connected environments: the Figma library, the developer repository, and a documented usage site — so designers and developers worked from one source of truth instead of reinventing patterns per product.

254

Components

300%

Productivity Increase

8

Products Unified

1

Designer

Figma Prototype

Component Collection

All the components of the design system displayed in a collague.

System Library Demo

Product Navigation Demo

Screen Examples

Data table with sorting cards.
Data Table with Sorting Cards.
Purchase Order screen.
Purchase Order
Widget drilldown screen.
Widget Drilldown

Takeaways

These are the top three concepts that I took away from this project.

Focus on scaling clarity

Early and consistent documentation, standardized wireframe organization, and thoughtful communication patterns significantly reduce friction, improve team alignment, and accelerate adoption across cross-functional teams.

Design for collaboration

Tailoring workflows, especially developer handoff and team conventions, to real human behaviors and preferences leads to stronger collaboration, fewer misunderstandings, and more efficient execution.

Balance speed with structure

While rapid iteration is critical, maintaining guardrails, such as controlled access, standardized assets (like icons), and simplified communication, prevents chaos and ensures the system remains sustainable as it grows.

Radiating starburst around a colorful sphere A multicolor sphere sits at the center while blue dotted rays radiate outward in a tunnel of dots, squares, and rings, with pulsing magenta sonar circles expanding around the sphere.