Back to work

Design System for Apollo.io

Built a design system with 54 components that improved visual consistency and UX, reduced design time by ~75%, and accelerated app development.

Role
Senior UX/UI Designer
Team
3 Designers, 1 PM
Timeline
Nov 2024 – Feb 2026
Tools
Figma, Storybook, Zeroheight
Cover image for Design System for Apollo.io

Context

Overview

Apollo.io is a sales intelligence platform that helps SDRs and AEs prospect and enrich data. It integrates multiple data sources, automates enrichment, and surfaces insights to improve prospecting efficiency, while giving users transparency into credit usage and system actions.

My Role

I took primary responsibility for building a new design system from the ground up — to establish visual consistency across the product, align with the brand identity, and provide designers and the engineering team with reusable, customizable components that improve workflow velocity.

My main tasks involved UX research, building the components and patterns library, prototyping, auditing, testing, and documentation.

Goals

The goal was to create a comprehensive yet accessible design system that supports consistent branding, scales with the product, and simplifies handoff to engineering. Ultimately, it needed to enable the delivery of fast, high-quality user experiences, accelerate team velocity, improve visual consistency, and reduce technical debt.

UX Research

User Interviews

Moderated and unmoderated interviews were conducted with designers and engineers, focusing not only on design system usage but also on their overall experience, design-to-code translation, architecture, and organization.

Feedback Collection

Given our engaged user community, the research team was able to gather targeted feedback on specific components and patterns, as well as the overall look and feel.

Competitive Analysis

I benchmarked our design system against established systems (Material, Polaris, Carbon) to set a quality bar for architecture, tokens, accessibility, and documentation, while analyzing competitors’ interfaces to ground pattern decisions in real sales workflows.

UX Design Audit

To gain a clear understanding of the existing system, I conducted a UX audit across our designs, components, foundations, and overall experience. The analysis focused on consistency and usability. It surfaced gaps and inconsistencies and shaped the initial component inventory and standards.

Discovery

Main Pain Points

Our existing design system fell short of market standards, lacking variety and customization options. As a result, designers built large numbers of custom, local components in their files, which created duplicates and added clutter to the system.

Outdated library

Limited and inconsistent components and variants, coupled with a lack of customization.

Missing guidelines

Basic experience missing key guidelines, modern workflows, and up-to-date design features.

Accessibility gaps

Foundational principles (contrast, text and target size) fell below current WCAG standards.

Ideation

UI Direction Workshops

We brought together a group of proactive designers to explore potential directions for the product UI. Each designer presented their concept, and through a voting process, we selected the main direction — which became the basis for further UI work.

UI direction concepts explored during the workshops

Component Inventory

Based on an internal audit of existing components in Figma and Storybook, along with a competitor analysis, I compiled a full list of components and patterns, assigning a priority to each.

Accessibility Baseline

Prioritize accessibility at every stage of designing new components and foundations, meeting WCAG 2.2 AA — sufficient color contrast, text size, minimum target sizes, accessible iconography, and screen reader support.

Responsive Approach

Prioritize an intuitive experience across screen sizes — building responsive components that adapt across breakpoints and adding mobile-specific patterns such as bottom sheets.

Design

This stage focused on empowering designers with the flexibility of extensive customization, balanced against best design practices. Delivering that required ongoing collaboration across the internal Design System team, Engineering, Marketing, Copy, and all product design teams.

Iterative Design

This workflow was followed for every new set of components in our Design System.

Setting Up the Foundations

Following an atomic approach, we defined the structural and stylistic foundations of the Design System, along with its style guide. This involved working on the grid, spacing, screen layouts, color palette, typography, sizing, border radius, states, shadows, and iconography.

Layout and grid

  • The constrained layout is built upon a 12-column system. The system adapts gracefully to smaller screen sizes by gradually reducing the number of columns.
  • A 4px grid, with major jumps on an 8px scale, used to arrange components on a page.

Typography

  • Built on a 16px base with a step-ladder function and INT rounding for clean, grid-aligned whole numbers, extending down to smaller steps for dense data contexts. Narrowed to the core sizes most used across the product.
  • Defined for alignment, line height (125% headers, 150% body, tuned to a 4pt grid), letter-spacing, and paragraph spacing.
  • Capped at 70–80 characters per line (~520px body width), with headers kept short.

Color palette

  • 11 base colors with up to 8 shades each, plus a dedicated 10-hue data-visualization palette, which is a significant expansion from the previous system.
  • A base shade defined for every color to ensure WCAG compliance, verified for both small text and graphics.
  • A range of hues and shades covering every use — text, surfaces, borders, states, illustrations, and data visualization.
Apollo design system color palette — base colors with their shade scales

Elevation

  • A 5-level scale built from soft, layered shadows for realistic depth without harsh, artificial edges.
  • Left, right, and top shadow variants, each with light and dark mode support, so elevation adapts to context and surface.
  • Hierarchy guidance per level, including shadow usage on colored backgrounds and the shift between flat and neumorphic styling.

Components

We designed a comprehensive library of 54 components, each offering diverse styles, sizes, shapes, and states to cater to a wide range of design needs. Each component was designed to meet accessibility standards, with built-in variants and out-of-the-box behaviors.

Apollo design system component library — 54 components shown across styles, sizes, shapes, and states

Design critiques

Every 2-3 newly designed components underwent a design critique: a one-hour moderated session where we presented the UI components to a focus group of three to seven designers. Participants were asked to explore and test the components, after which we collected feedback from each of them. The final step was incorporating that feedback into the next design iteration.

Documentation & Guidelines

As the final step in the design process, comprehensive documentation was created in Zeroheight to serve as the single source of truth. It included detailed documentation for each component, covering anatomy, specifications, variations, behaviors, states, sizes, shapes, and accessibility considerations. It also outlined usability best practices, usage guidelines, and key insights from the design critiques.

Next Steps

Components QA

Detailed check of each component, comparing Storybook to Figma and reviewing it against the QA checklist.

Requests & contributions

Gathered and prioritized designers' requests, ranging from bug fixes and corrections to new component creation.

Feedback collection

Collected data through surveys, focusing on identifying pain points and opportunities for improvement.

Takeaways

Building a design system from the ground up proved to be as much an organizational effort as a design one. Here are a few lessons I learned from this project:

  • Creating and managing a design system at scale: Learned how to build and manage a design system by creating customizable components, patterns, and variables while enabling teams to use the system effectively.
  • Navigating ambiguity: Learned to move forward without having all the answers, overcome obstacles, and test multiple ideas throughout the process.
  • Receiving feedback and iterating: Continuously collaborated with teams and stakeholders to gather feedback on constraints, limitations, and requirements, then iterated on components based on that feedback.
The finished Apollo.io design system — components, color tokens, and patterns shown across the product UI