Skip to main content
First American

Ignite Design System

Reigniting the Ignite Design System, the mortar for First American's suite of Ignite applications.

Ignite Design System

When

  • 2021 – 2022

Platform

  • Web

Expertise

  • Design Systems Design
  • UX/UI Design
  • Front-End Development

Tools and Tech

  • Figma
  • Angular
  • Storybook

Background

First American is a financial services company. It sells title insurance and settlement services to the real estate and mortgage industries.

Ignite is the application that runs First American's mortgage closing operations, including transactions and escrow.

My Role

I was the only Senior Design Technologist on Ignite, which meant three jobs at once: designer, front-end engineer, and de-facto product owner.

The Challenges

The inherited design system had stagnated. Teams operated in silos, the component library was underused, and the foundations needed a full rebuild.

Siloed teams

Teams shipped narrow, conflicting solutions and duplicated code and patterns across the product.

Underused library

Components existed but rarely got found or reused. Documentation was thin and awareness was low.

No design guidance

Designers solved problems ad-hoc with conflicting or non-existent system direction.

Inflexible color palette

100+ hues but no tints or shades. That left almost no pairings that could clear WCAG 2.1 AA contrast.

The inherited color palette after removing lightly-used and near-identical colors. The remaining hues lacked flexibility and accessible pairings.
The inherited color palette after removing lightly-used and near-identical colors. The remaining hues lacked flexibility and accessible pairings.

Scope of the Work

Almost every part of the design system needed either an overhaul or a brand-new foundation. Beyond the system itself, the teams using it needed a baseline education on what design systems are and why they exist.

Discovery

The bones of a design system were already in place, but I needed to understand the goals, the team culture, and the existing processes before I could prioritize anything. I ran a six-track discovery to map the current state.

  1. Survey

    Open-ended Google Form sent to design and engineering. Asked about wins, pain points, and top priorities.

  2. Interviews

    Qualitative deep-dives with senior designers and engineers to pressure-test the vision for the system.

  3. Audit

    Inventory of the Ignite app and CSS. Catalogued patterns, candidate tokens, and atomic component coverage.

  4. Culture

    Mapped buy-in across designers, engineers, PMs, and leadership. Found both the gaps and the champions.

  5. Roadmaps

    Pulled PM roadmaps and pending design work so system releases could ride alongside shipping priorities.

  6. Allies

    Built relationships across product, design, and engineering. The system needed champions outside the system team.

Insights

Team

Trust in the design system was low. It had been neglected and needed real oversight.
Most of the people meant to use the system didn't have a baseline understanding of what design systems are.
Most of the product design team was new to Figma, so they'd need help with the library and with Figma itself.

Process

Almost no process existed around how the system got used or contributed to.
Support was thin. Product designers and engineers were left to figure out how to apply the system on their own.
Without process, design technologists got pulled into ad-hoc decisions and one-off support requests all day.
The design system didn't share ownership with the design and engineering teams. It felt like an outside thing being imposed on them.

Design System

100+ colors in the palette. Many were unused, single-serving, or visually indistinguishable from neighboring colors.
The UI kit was still in Sketch and needed migrating to Figma, which meant a manual rebuild.
The component library was top-heavy. Lots of complex components, very few that were actually reusable.
No component composition. Complex components ignored the smaller atomic components instead of building from them.
The component library needed major cleanup and a real foundation underneath it, starting with design tokens.
Storybook was outdated. Some docs were wrong, some components were missing entirely.
The system didn't have real documentation anywhere.

A New Design System-Driven Process

The UI inventory and interviews fed a new process built around open communication. Stakeholders from every team got pulled in, and a design technologist was always in the room when system decisions were happening.

We framed the design system as a tool that supported product work, not one that overrode it. Product design and engineering came into every conversation where it mattered, so ownership felt shared instead of imposed.

Prioritization started with easy wins. Tokens and atomic components were the most obviously missing pieces, and also the fastest to get into designers' and engineers' hands.

Design Tokens & Foundations

Tokens and atomic components are how a design system stays consistent without becoming brittle. The inherited system had the bare minimum of both.

I catalogued the gaps, wrote documentation for what already existed, and broke down the most over-engineered foundational components into reusable pieces. Patterns engineering had been implementing as one-off styles got promoted into real components and looped back to the engineering team.

ColorTypographySpacingIconographyElevationRadius
The Ignite Design System icon set, rebuilt as proper components against the new token foundation.
The Ignite Design System icon set, rebuilt as proper components against the new token foundation.

Color System

The updated color system added shades (darkened with black) and tints (lightened with white) for each primary and secondary hue. The palette still reads like the old one visually, but the new range gives you enough pairings to actually clear WCAG 2.1 AA contrast. Semantic aliases sit on top of the raw colors so designers know which one to grab instead of guessing.

The new color system, with primary and secondary hues each expanded into a tint/shade range and semantic aliases on top.
The new color system, with primary and secondary hues each expanded into a tint/shade range and semantic aliases on top.

Read more about how I built the color system.

Figma UI Kit

I rebuilt the Figma UI kit from scratch, using the old Sketch library and the actual code components as reference. The new library has three layers: design tokens as Figma styles, foundational components, and the complex components in use across Ignite.

Button component and variants in the rebuilt Ignite Figma UI Kit.
Button component and variants in the rebuilt Ignite Figma UI Kit.

Component Library & Storybook

The component library update wasn't just new components. It also brought in the new tokens, the foundational components built on those tokens, and the tooling to actually publish everything. I added Lerna so the monorepo could ship versioned packages, and upgraded Storybook to v6 to get in-browser controls for component testing. The Storybook a11y addon runs basic accessibility checks on every component and surfaces a report next to the docs.

Ignite shared component library documented in Storybook with controls and a11y reporting.
Ignite shared component library documented in Storybook with controls and a11y reporting.

Impact

Accessible color foundation

The expanded palette and semantic aliases finally gave designers WCAG 2.1 AA pairings the old palette couldn't produce.

A real Figma library

Designers moved off Sketch to a tokenized Figma UI kit modeled after the code components.

Documented & testable components

Storybook v6 with controls and the a11y addon made every component in the library inspectable in the browser.

Co-ownership across teams

Product, design, and engineering shared decisions and roadmap inputs for the first time.

Future Plans

Design systems are never done. A handful of initiatives stayed on the roadmap after my time on the team:

Accessibility

Close remaining gaps in both design and code against WCAG 2.1 AA.

Documentation

Fill gaps in design and technical docs so the system is self-serve for new contributors.

Responsiveness

Validate every component across breakpoints and device classes.

In-demand components

Ship the missing foundational pieces like text, avatar, and other high-traffic primitives.

Linting & guardrails

Add linting to catch common coding issues and enforce token usage.

Docs site & release process

A single source of truth website plus a real release pipeline and changelog.