Guiding rapid implementation of a theme-based design system in preparation for a future rebrand.

UI Kit + Design System at Art of Problem Solving

Duration

2 months (May 2024 ~ July 2024) with ongoing support (~ now)

The Problem

How can I improve the quality and speed of frontend implementation in our team’s second attempt at building a new service?

The Challenge

After struggling with code quality in a poorly scoped project for a year, our team needed a complete code refresh.

screenshot of old annotations made about web implementation
Our first take at development had its challenges.

My rushed design process had created inconsistent components with inadequate documentation, burdening overwhelmed engineers with too many decisions to plan around.

This time, while the team focused on rebuilding backend structures, I seized the opportunity to address my previous handoff gaps.

Chart of themed color tokens for a design system

The Solution

Without dedicated frontend or design systems engineers, consistent adoption across the team required explicit clarity and hands-on support.

This was my last ode to the waterfall workflow I’d work in with this team. Since I was well ahead of our engineers, I focused on empowering them to dedicate their time to creating a flexible homework system.

It was also an opportunity to fully utilize the new variables feature that were introduced to Figma in Summer of 2023.

Luckily, for me...

Design systems documentation is abundant on the internet... for free!

With so many design systems having usage guidelines available online, I was able to compare token-naming conventions and find what worked for our company’s engineers.

collection of different existing design systems

I also made the best recommendations I could by consulting with brand designers and engineers, and observing how designers and developers used Figma in their day-to-day.

tables that break down border variables for a design systemtable that breaks down sizing variables in a product

Highlight:

Sizing tokens that require less training for engineers working exclusively in web.

The primary sizing unit for AoPS engineers, who only work in web, are rems. We’ve named our primitive tokens after rems because t-shirt sizes and arbitrary numbers are difficult to scale.

This removes a layer of translation that engineers would have to do if we ever have design files that don’t directly use spacing tokens.

screenshot of tokens as displayed on Figmacolor scales for two different product themes

Highlight:

Explicit primitive and semantic tokens that change by product theme.

We defined responsibly-named tokens designed for theme changes to support our upcoming rebrand. Themes are built into Figma Files as variable modes, to make future theming easier.

button and modal components changing themes

Highlight:

Robust components that are prepared for highly-volatile branding.

We’ve built flexible components that wouldn't constrain designers still defining brand and product directions.

chart that breaks down font recipes

Highlight:

Font recipes that work for this product, and are ready to transform for the next.

A preliminary version of our rebrand introduced a variable font: Roboto Flex. We’ve created layered font recipes that are adaptable to any branding changes.

table of contents for design system file

But...

There’s still a long way to go.

As we speak, components are still being built and tested as the team reaches new milestones. Next steps include moving documentation from Figma into code as the system continues to evolve.

a page for completing homework with a mouse hovered over the video button

Outcome

With the UI Kit and workflow improvements, the team rebuilt a more robust product in less than half the time with significantly fewer custom components.

As the sole designer, I distilled common design decisions into tokens, contributed to technical strategy, and created a Figma component library that prioritized designer experience.

Engineering

Ryan Ku

Kurt Slagle

Trevor Moore

Ashley Paul Ryu

Brand Design Consult

Liza Marino

Engineering Consult

Samuel Foster

Stephen Barrack

(and many more!)