Porter Design System

Helping designers and developers build.

Client

Porter Airlines

Team

Me (Product designer)

1 Product owner

2 Developers

1 Content designer

1 Accessibility lead

1 Design lead

Skills / Tools

Figma

Storybook

Chromatic

Supernova

Reviewing code

Usability testing

Timeline

Sept '24 - Nov '25

STATUS

Shipped

(Ongoing)

PROBLEM area

No design system meant maintenance, not growth

Porter wanted to scale its digital experiences, but there was no system for designing and developing UI. That led to slow, inconsistent, and inaccessible product, where efforts went into rework and maintenance instead of growth. Without a clear source of truth, building UIs felt like a guessing game that created design and technical debt. Ungoverned components also turned Figma’s Asset Panel into a search task instead of a fast workflow, slowing down designers. Designers frequently had to QA multiple broken build versions as developers were manually coding repeated UI, compounding time pressure on both teams.

Porter wanted to scale its digital experiences, but there was no system for designing and developing UI. That led to slow, inconsistent, and inaccessible product, where efforts went into rework and maintenance instead of growth. Without a clear source of truth, building UIs felt like a guessing game that created design and technical debt. Ungoverned components also turned Figma’s Asset Panel into a search task instead of a fast workflow, slowing down designers. Designers frequently had to QA multiple broken build versions as developers were manually coding repeated UI, compounding time pressure on both teams.

1

Lack of a clear source of truth made building UIs a guessing game, creating design and technical debt.

2

Ungoverned components turned the Asset Panel into a search task instead of a pick-and-place tool.

DESIGN GOALS

What I aimed to achieve

Build strong foundations

Define tokens and core components, built to follow WCAG 2.2 and atomic design principles.

Centralize design and code

Create one source of truth for guidelines, accessibility, and implementation to remove guesswork.

Help and advocate

Support adoption end-to-end for designers and developers new to a design system.

DECISION 1

Build components in a single Figma library

After auditing key flows, I built 33 core components used across Porter’s critical experiences, from universal UI (buttons, comboboxes) to Porter-specific patterns (airport codes, flight tracking bar). I centralized them into one easy-to-find library, replacing a fragmented setup of 24 libraries that confused and slowed designers. I also tokenized spacing, color, and typography so designers could move faster while staying flexible at the layout level.

DECISION 2

Establish a source of truth for design and code

I co-led usage guidelines with Teunis Vorsteveld (Product owner), Alexandria Yeung (Accessibility), and Sadaf Pourzahed (Content). The documentation reduced ambiguity for both design and engineering and made the system easier to adopt.

DECISION 3

Actively support adoption to drive speed and familiarity

I mentored five designers 1:1 to teach the components and pressure-test whether the library felt intuitive in real work. I also ran a lean A/B test with a product designer (Victoria Rudiak): she built a Flight Status screen ~20% faster using the system without prior experience. It’s an early signal with a sample size of one, but it suggests the system has upside as familiarity grows. I also recorded and edited release demo videos to keep updates fast and easy to absorb.

RETROSPECTIVE

Results & insights

View live DS example

Measurably faster designs

  • Having components and spacing tokens pre-defined is game-changing for design.

  • A/B testing with and without design system with Victoria showed 20% faster design generation

  • Building Book a Flight with the design system was incredibly fast (~2 hours instead of multiple days)

Less manual coding, likely faster development

We didn’t capture a quantified dev time delta due to timeline constraints and shifting priorities, but reducing repeated manual coding should improve delivery speed. This is a metric I would like to measure next (e.g., time-to-implement for a set of common components before vs. after adoption).

100% of released components were a11y tested

I built the components to WCAG 2.2 standards, and once they were developed I reviewed the code and builds alongside accessibility testing. Alex Yeung led the final audit and testing, and I actively participated in the sessions. When issues came up, we iterated on the component, re-tested, and shipped the fix.

I would've loved to…

  • Try to use Figma MCP to generate UI components using the design system.

  • Encourage designers to use Supernova to vibe code earlier prototypes

  • Added explicit motion guidelines to push visual craft even further