2023-2024

Scaling a UI
Library

Stabilizing a fragmented UI foundation
for clinician workflows

2023-2024

Scaling a UI Library

Stabilizing a fragmented UI foundation
for clinician workflows

2023-2024

Scaling

a UI
Library

Stabilizing a fragmented UI foundation for clinician workflows

My Role

Product Designer (UX/UI Designer)

Scope

Built foundational UI components in Figma and audited key clinician workflows, creating 40+ reusable components that reduced design-to-development time by ~30%.

Built foundational UI components in Figma and audited key clinician workflows, creating 40+ reusable components that reduced design-to-development time by ~30%.

Team

Me — Foundational UI components, UI audit
Allison Spillane — Mobile & advanced components
Sara Sailors — Engineering Lead

Year

Team Product, CEO

Year 2023-2024
Duration 6 months

2023-2024

Team Product, CEO

Year 2023-2024
Duration 6 months

Duration

One Year

ClinicianConnect

ClinicianConnect

At Health Recovery Solutions (HRS), I helped standardize ClinicianConnect, a telehealth platform that helps clinical teams manage complex patient data.

At Health Recovery Solutions (HRS), I helped standardize ClinicianConnect, a telehealth platform that helps clinical teams manage complex patient data.

The Problem

As the platform grew, UI variations accumulated across components and interactions. Without a shared foundation, clinicians encountered a less predictable interface, while design and engineering faced ongoing rework.

WHERE IT BROKE DOWN

Clinicians needed predictable interaction patterns to move quickly between fields and assign patients.

Patterns fragmented as the product scaled without a shared system.

The Solution

To improve design consistency and development velocity, I partnered with a teammate and engineering to build a scalable component library in Figma.

Rather than building a full design system upfront, we focused on foundational components that delivered immediate value and could scale over time, with naming conventions and implementation constraints aligned on from the start.

Defining
the Scope

ClinicianConnect had grown without a shared inventory of UI patterns, creating variation across workflows as the platform evolved. Because product direction was still evolving, introducing new components too early risked reinforcing patterns that might later change. The team and I decided to first document and structure existing UI patterns, creating a stable foundation before standardizing components.

Stabilize Before Standardizing

We prioritized consistency across workflows before introducing new component patterns.

Cleaner Handoffs

A shared source of truth reduced implementation ambiguity and back-and-forth.

Defining the
Scope

Stabilize Before Standardizing

We prioritized consistency across workflows before introducing new component patterns.

Cleaner Handoffs

A shared source of truth reduced implementation ambiguity and

back-and-forth.

Mapping
the Interface

I then conducted a UI walkthrough across key workflows, documenting interface patterns and identifying component variations. Different button styles, form labels, and modal behaviors had evolved independently, increasing cognitive load and reducing predictability.

I then conducted a UI walkthrough across key workflows, documenting interface patterns and identifying component variations. Different button styles, form labels, and modal behaviors had evolved independently, increasing cognitive load and reducing predictability.

Observed Validation Variations

Audit: Validation States

Audit: Validation States

01

Default field

02

Required field + success feedback

03

Required field + success + help icon

04

Required field

Variability in input styling and validation states spotted across clinician workflows.

Competitive
Analysis

Without an existing design system for the web platform, each team member independently evaluated Material Design and IBM Carbon to understand how mature systems organize components and documentation. After regrouping, we identified principles that supported the evolving product roadmap without overbuilding the system prematurely.

Material Design

What Works

  • Exceptional documentation

  • Beginner-friendly onboarding

  • Well-defined component anatomy

Where It Breaks Down

  • Can be overly prescriptive

  • Customization becomes harder without breaking key patterns

Design Takeaways

Borrow Material’s component structure and documentation patterns, while avoiding overly rigid constraints.

Material Design

What Works

  • Exceptional documentation

  • Beginner-friendly onboarding

  • Well-defined component anatomy

Where It Breaks Down

  • Can be overly prescriptive

  • Customization becomes harder without breaking key patterns

Design Takeaways

Borrow Material’s component structure and documentation patterns, while avoiding overly rigid constraints.

Carbon Design

What Works

  • Clear and minimal navigation

  • Documentation that supports scale

  • Defines accessibility user groups

Where It Breaks Down

  • Visual style can feel rigid

  • Extensive documentation can feel overwhelming at first

Design Takeaways

Start smaller to improve usability and maintainability, while building a flexible foundation for scale.

Carbon Design

What Works

  • Clear and minimal navigation

  • Documentation that supports scale

  • Defines accessibility user groups

Where It Breaks Down

  • Visual style can feel rigid

  • Extensive documentation can feel overwhelming at first

Design Takeaways

Start smaller to improve usability and maintainability, while building a flexible foundation for scale.

Comparative analysis informed a lightweight, scalable structure for the initial UI library.

Audit:
UI Patterns

Next, ClinicianConnect was organized into key workflows, and I audited dozens of live screens, capturing and tagging UI components to create an inventory of patterns and inconsistencies across the product.

WHAT THIS UNCOVERED

The audit surfaced dozens of near-duplicate components, each solving the same problem differently.

WHAT THIS UNCOVERED

The audit surfaced dozens of near-duplicate components, each solving the same problem differently.

WHAT THIS UNCOVERED

The audit surfaced dozens of near-duplicate components, each solving the same problem differently.

Once the inventory was complete, the team consolidated our findings into a shared inventory that became the blueprint for the initial UI kit.

Using Brad Frost’s atomic design principles, we audited live screens by tagging UI elements, creating a component inventory, identifying gaps needed to build a scalable system.

Patient Inventory Dashboard

Key Findings
• Documentation and tagging inconsistencies
• Multiple button styles without system
• No shared component documentation

Pattern Mapping

Tagging recurring UI elements across workflows to understand platform structure.

Missing Standards

No shared component definitions led teams to rely on local implementations.

Button Patterns

Primary, secondary, and utility actions varied across workflows.

Modal Patterns

Confirmation flows varied across workflows and lacked predictable behavior.

Modal Variations Across Workflows

UI audit documenting interface patterns and component variations across key clinician workflows.

Building
the System

With the inventory complete, I determined the core components for the initial UI kit. Following atomic design principles, I started with typography and spacing before building higher-variation interactive components. As I built the library, I addressed critical accessibility issues, including missing focus states and insufficient color contrast.

At the same time, I co-developed a presentation for engineering and product teams demonstrating how consolidating component variations would reduce duplicate work over time.

Visual Foundations

Typography

ClinicianConnect

H1

22px/Semibold

ClinicianConnect

H2

16px/Bold

This UI Library was built to support
reusability across screens and teams

Body Paragraph

16px/Regular

Sizing and Spacing

All component sizing should be in multiples of 8px or 4px, 8px is preferable. Consistent, standard, and scalable.

Example: System modal with real-world copy

Icons

Icons used across core flows to reinforce actions and system states.

Colors

Colors used to support hierarchy, feedback, and interaction.

Accent and Functional Colors

Primary

Default

Hover

Selected

Success

Confirmed/Saved

Warning

Errors & Destructive

Danger

Errors & Destructive

Neutral System Colors

Active

Selected or Non-primary Elements

Disabled

Non-interactive, disabled states

Icons

Icons used across core flows to reinforce actions and system states.

Icons

Icons used across core flows to reinforce actions and system states.

Core Components

Input Fields

Input fields for text entry and validation.

Enabled

Text

Forgot Password?

Focused

|Text

Forgot Password?

Filled

●●●●●

Forgot Password?

Input stroke outlines and helper text colors are exaggerated for documentation clarity.

Input Fields

Input fields for text entry and validation.

Enabled

Text

Forgot Password?

Focused

|Text

Forgot Password?

Filled

●●●●●

Forgot Password?

Input stroke outlines and helper text colors are exaggerated for documentation clarity.

Buttons

Buttons across core flows (default and disabled states).

Primary

Secondary

Default

Button

Button

Disabled

Button

Button

Buttons

Buttons across core flows (default and disabled states).

Primary

Default

Button

Disabled

Button

Secondary

Default

Button

Disabled

Button

System in Context

40+

reusable components reduced variation across workflows

  • Consistent states across form components

  • Clear focus and validation feedback

  • Predictable dropdown interactions

  • Consistent states across form components

  • Clear focus and validation feedback

  • Predictable dropdown interactions

The
Outcome

The library became a shared source of truth for new feature work, making it easier for design and engineering to identify reusable patterns, reduce rework, and accelerate iteration.

Before

Fragmented component patterns

  • Inconsistent borders and spacing

  • No shared validation pattern

  • Different interaction patterns for similar inputs

Before

Fragmented component patterns

  • Inconsistent borders and spacing

  • No shared validation pattern

  • Different interaction patterns for similar inputs

After

Introduced a shared component system across clinician workflows.

Introduced a shared component system across clinician workflows.

INPUT FIELDS

TEXT AREA

~30%

Faster

design-to-development

time


Faster

design-to-development

time

Cleaner handoffs, reduced rework, faster decisions.

(Estimated from reduced design iteration cycles)

(Estimated from reduced design iteration cycles)

TEXT AREA

What’s Next

Before wrapping up my contribution, the following priorities were identified to help evolve the library into a more scalable system:

Component Standardization

Align design and front-end components, define a semantic token structure, and consolidate variations to reduce duplication and overrides.

Reinforce Internal Adoption

Expand lightweight documentation and onboarding to reinforce consistent component usage across teams.

Improve Accessibility

Formalize WCAG 2.1 AA standards, document focus states and validation patterns, and align UI decisions with healthcare compliance needs.

Component Standardization

Align design and front-end components, define a semantic token structure, and consolidate variations to reduce duplication and overrides.

Reinforce Internal Adoption

Expand lightweight documentation and onboarding to reinforce consistent component usage across teams.

Improve Accessibility

Formalize WCAG 2.1 AA standards, document focus states and validation patterns, and align UI decisions with healthcare compliance needs.

Let's Make Something Clear.

wu.mlucy@gmail.com

© 2026, Lucy Wu. All rights reserved

Let's Make Something Clear.

wu.mlucy@gmail.com

© 2026, Lucy Wu. All rights reserved

Let's Make Something Clear.

wu.mlucy@gmail.com

© 2026, Lucy Wu. All rights reserved