← Back to all projects

Building & Maintaining Design Systems

Screenshot of CircleCI's design system repository in Storybook with status tracking across Figma, code, and documentation.
Client
LogicMonitor, CircleCI, Electronic Arts (EA), Rapid7, Staywell
Services
Audit and creation of design systems
Deliverables
Components, documentation, code review
Date
2025
Website

Project Goals

Create and/or refine the design system, including implementation and ongoing maintenance to ensure consistency, efficiency, and accessibility.

Problem

As companies grow their design teams and add new features to their products, visual drift occurs. This leads products to end up looking outdated and internally inconsistent, and teams don't have efficient or standardized ways to build new things.

Solution

Establish a design system (in design tools and code), complete with documentation for designers and developers, that allows all team members to ship consistent, high-quality, and accessible products efficiently.
Challenge
Build consistent, scalable, and accessible design systems.
Solution
Centralized design system built in code with accessible documentation.
Learnings
Cross-functional ownership improves design system adoption.

Result

I've owned design systems at every stage of maturity: creating them from nothing, reviving ones that had fell out of sync, and scaling ones into governed platforms. The constant across five companies wasn't the deliverables, it was the diagnosis. Each organization was drifting for a different reason, and the work was identifying whether the root cause was tooling, missing foundations, or growth outpacing standards, then building the intervention that organization could actually adopt.

  • LogicMonitor: Moved the organization from no single source of truth to a dedicated design system repository built on Material UI, an adoption I led end to end. I owned the full stack: design tokens and taxonomy, Figma components, documentation, work prioritization, and the internal handoff processes that determined how design reached code.
  • CircleCI: Established shared principles and patterns where teams had been working from none, then closed the design-to-code gap by partnering with developers to build and release every component in code. I wrote all documentation from scratch and ran recurring office hours, because a system only creates consistency if people are trained to use it.
  • Electronic Arts: Built the research foundation the team lacked, establishing core principles and foundations (color, typography, iconography, imagery) and converting cross-functional stakeholders into supporters, securing the organizational commitment that determines whether a system gets funded and adopted.
  • Rapid7: Inherited a Sketch library distributed by email, Slack and GDrive, a process guaranteed to produce drift and low adoption. I audited it, standardized its patterns, wrote contribution guides so the system could grow without me, and migrated the team to tooling that removed human error from distribution.
  • StayWell: Created a system from scratch with a partner designer, extending it beyond UI into custom iconography and photography guidelines so the brand itself became systematized, not just the interface.
No items found.

I run design systems as internal products. My users are designers and developers, and they have conflicting needs across tools that were never built to talk to each other. Accessibility gets built into the system itself rather than audited afterward, because when tokens, components, and patterns meet WCAG at the foundation, every product team inherits compliance for free instead of retrofitting it feature by feature. The same thinking shapes how I work. Components are designed in Figma with their code architecture in mind from the start, not translated later. I work directly in implementation with engineers, reviewing code and testing across browsers and devices before anything ships. And documentation goes out in written, video, and code formats, because each audience consumes it differently, and documentation nobody reads is just drift waiting to happen.

The other half of the job is adoption, which is never guaranteed. I gather requirements with stakeholders before building, coordinate releases with product managers and engineering, then track usage, run training, and hold office hours after launch. A design system that's technically excellent but unadopted has failed, so I treat governance, education, and support as core deliverables rather than follow-up work.

Process & Execution

  • Audit: Conduct a thorough assessment of existing design elements and standards, comparing and identifying inconsistencies, patterns, and structural opportunities within the system.
  • Accessibility Integration: Utilize specialized tools and plugins to evaluate the design system's accessibility against WCAG standards, ensuring inclusivity and compliance.
  • Research: Engage in extensive research to gather insights and analyze user needs, aligning the design system with user requirements and industry best practices.
  • Ideation: Generate wireframes and mockups, exploring numerous iterations and potential solutions to refine the design system's components and interactions.
  • Feedback and Refinement: Gather and incorporate feedback into iterative revisions until achieving the desired balance of usability, scalability, and consistency.
  • Collaborative Implementation: Partner closely with engineering teams to translate design system specifications into functional components, facilitating seamless integration and deployment.
  • Monitoring: Regularly monitor usage and track performance, identifying areas for optimization and improvement over time.

Research & Analytics

To ensure the effectiveness of each design system, I leveraged a combination of resources and prior research to validate the principles and approach.

  • Stakeholder Interviews: Conducted interviews with key internal stakeholders, including product managers, developers, and designers to align on business goals, priorities, and requirements for the design system.
  • Industry Research: I stay on top of emerging design trends, best practices, and industry standards to ensure that my design systems remain relevant and innovative in a rapidly evolving landscape.
  • Competitive Analysis: Compared design systems and user interfaces of competitors and industry leaders to gain insight and discover opportunities for differentiation.
  • Technology Assessment: Evaluated the technological landscape, including front-end frameworks, design tools, and version control systems to determine the most suitable platforms and tools for implementing and maintaining design systems efficiently.

Core Principles

Core principles varied across these projects as they were tailored to product industry, brand identity, and target audience. However, the following core principles are ones that I find universal and use in all of my design system projects:

Accessibility

  • Ensuring that the design system is accessible to all users, regardless of their abilities or assistive technologies, promotes inclusivity and usability for diverse audiences.

Consistency

  • Maintaining consistency in design elements, patterns, and interactions across all components fosters familiarity, predictability, and a cohesive user experience throughout the product ecosystem.

Extensibility

  • Designing the system with extensibility and scalability in mind allows it to incorporate customizations and additions and adapt seamlessly as the product grows, ensuring flexibility and efficiency in accommodating diverse use cases and future enhancements.