Design Systems · Zero Motorcycles

Live

From assets to a system: building Tuner's design foundation

I built a component library, color system, and token architecture from scratch, in parallel with the product, for Zero Motorcycles' B2B diagnostic tool.

Role

Product Designer

Company

Zero Motorcycles Inc.

Timeline

June 2025 — Present

Platform

Desktop B2B Application

0

dealerships live

0%

fewer support tickets raised

75+

components across 6 pattern groups

The problem

No system, just assets

Tuner had visual assets but no shared system. As the product scaled, every new screen required rebuilding patterns from scratch, creating inconsistency, slowing handoffs, and leaving no single source of truth for how the product should look and behave.

Starting point

Assets without architecture

Basic colors and early components existed but nothing was documented or connected. The foundation was there, it just was not a system yet.

What existed

Basic color values, no naming

Some early components, no states documented

Built screen by screen, no reuse

What I introduced

Two-layer token architecture

Semantic naming conventions

6 pattern groups for consistent reuse

The system

Four layers, one source of truth

Foundation: Color

12-step orange ramp, neutral scale, and documented usage roles for every color in the system.

Token architecture

Primitives and Semantic variable collections in Figma, separating raw values from meaning to enable scalable updates across the entire library.

Component library

Components with documented states, bound to semantic tokens across all diagnostic workflows.

Patterns

Pattern groups covering every recurring UI problem in Tuner, from list items with 10+ states to ECU navigation trees.

Key decisions

Why, not just what

One action color, not many

Orange was chosen as the single action color to reduce cognitive load. In a diagnostic environment where technicians read status at a glance, multiple colors would create ambiguity.

Two-layer token architecture

Primitives store raw values. Semantics assign meaning. Separating the two means a brand update touches one layer without breaking the other.

Components named by role, not appearance

Naming components by what they do — not what they look like — made the library easier to extend and reduced decisions when adding new screens.

Outcome

A system that shipped

The design system was the infrastructure that made Guided Diagnostics possible at scale. Built in parallel with the product, it enabled consistent, fast execution from first flow to launch.

0

dealerships live

0%

fewer support tickets raised

75+

components across 6 pattern groups

What’s next

This was v1

A more mature version would include all components bound to semantic tokens, MD files living alongside engineering’s codebase, and theming support built into the token layer for future Zero product lines.

v2 would include

Full component-token binding across the library

Engineering-side MD documentation per component

Theming layer for multi-product support

Open to full-time Product Design roles.

Let's connect.

Click to copy:

© 2026 by Ruthvik Panchakshari

|

Seattle —

Open to full-time Product Design roles.

Let's connect.

Click to copy:

© 2026 by Ruthvik Panchakshari

|

Seattle —

Open to full-time Product Design roles.

Let's connect.

Click to copy:

© 2026 by Ruthvik Panchakshari

|

Seattle —