With priorities established, I began building the system incrementally alongside active feature work, starting with foundational elements before moving into reusable components and shared workflow patterns.
Accessible Color System
One of the biggest challenges was the color system. The existing palette did not provide enough flexibility for accessible UI states and semantic feedback patterns. Some hover states were difficult to distinguish, error colors failed accessibility requirements, and disabled states often looked too similar to active states.
I expanded the palette systematically by:
creating accessible tints and shades,
introducing semantic success, warning, and error tokens,
and validating combinations against WCAG AA standards.
This process also required alignment with the brand team, who initially worried that expanding the palette would weaken visual consistency. I addressed this by demonstrating accessibility failures and showing how the updated system preserved brand recognition while improving usability.

Additional Foundations
I also standardized typography, spacing, and iconography to reduce one-off design decisions and improve consistency across layouts.
This included:
a typography hierarchy,
a 4px spacing scale,
and a unified icon system with consistent stroke weights and visual style.

To keep the system scalable and easier to maintain, I also established a consistent token structure across colors, spacing, typography, radius, and elevation values.

Designing the Component Library
I organized the system using Atomic Design principles so components could scale predictably over time.
Atoms: buttons, inputs, labels, icons
Molecules: form groups, search bars, alerts
Organisms: navigation, forms, tables, modals
Buttons were among the first components I standardized. The existing product contained inconsistent sizing, overlapping visual styles, unclear hierarchy, and incomplete interaction states.
To support different workflows across the product, I created a flexible button system with semantic variants, standardized sizes, and shared interaction behaviors.
The system included:
semantic button types for primary, secondary, destructive, warning, success, and accent actions,
five standardized sizes ranging from X-Small to X-Large,
and reusable states for hover, focus, disabled, and keyboard interactions.
To improve maintainability, I structured components in Figma using shared properties and variants. This allowed designers to swap styles and states without detaching components or rebuilding layouts manually.

Collaboration & Constraints
I worked closely with developers to align on naming conventions, component behavior, implementation expectations, and documentation standards.
This process surfaced one of the project’s biggest challenges: the engineering team’s low-code platform, Volt MX, could not fully support some of the variant structures and responsive behaviors built into the system. Certain component states required manual workarounds, and some interactions could not be replicated exactly within the platform.
Rather than simplifying the system around current technical limitations, I documented implementation gaps clearly and aligned with developers on phased improvements over time. This allowed the system to establish long-term standards while acknowledging short-term constraints.
Documentation
To support adoption and reduce ambiguity during handoff, I documented component usage, accessibility standards, interaction behaviors, spacing rules, and implementation notes.
I also included “dos and don’ts” examples to reinforce consistent usage patterns across teams.