Loading site
back

arcade design system

role
Product designer, Architect, Engineer
date
2022 – 2025
team
Design system, Product design, Client engineering

overview

Cash App already had design standards and strong platform teams. Platform teams however all operated in isolated silos. Android, iOS, Web, and the rest had their own design implementations. Design decisions still moved by hand with a translation cost.

I helped stand up Arcade as Cash App’s design systems practice. The goal was to enable design’s high bar of craft in code.

Pinball playfield art for Arcade, with a rocket bumper and an astronaut at the controls.

ethos

I took three things as my responsibility.

Building confidence. Cash App had a strong grassroots culture and I knew I had to organically make people want Arcade versus a forced mandate. Engineers had to trust the system and the benefits it gave.

Meet where the work is. The system had to show up in the tools people already used. Android and iOS leads sat in design from the start, so platform differences showed up as constraints instead of late surprises.

Build good habits. If the default path in code was the designed one, craft did not depend on a review catching it later.

Split slide: a stack of books labeled NO, and a child blowing out birthday candles labeled YES.
This is the energy we strived for. Feeling less like a documentation to read, and more a toddler's birthday party. Maybe at an arcade.

tokens

I committed early to three layers: base values, semantic intent, and component usage. Engineers could keep calling color-success while the green underneath changed. That contract let design evolve without breaking every call site.

I built two explorers so people could visually understand the why and how it mattered. They were a huge milestone in building confidence in the system.

Token graph linking base colors to semantic text roles and then to component text tokens, with search and a theme toggle.
The first. A design tokens explorer. One could search a role, flip light and dark, and see the aliases without opening the pipeline or their IDE. Example, searching for text “text”: primitives on the left, semantic roles in the middle, component tokens on the right.
Three related palettes in blue, teal, and green, each running from dark to light.
The second, an explorer to view the underlying color engine. And how it was baked in with contrast checks.

the work

The source of truth lived in code. Every downstream target, including Figma, was a consumer. YAML for authoring, so lints and frontmatter came with the files. Each platform had its own generator and could not break the others. They spoke local conventions: Kotlin and Gradle, Swift and SwiftPM, TypeScript and React, plus Treehouse, our internal server-driven UI framework.

That was the elevation of the work. When a button needed it, I sat in the file with the team until the radius, the press, and the heart were right. Code made the decision hard to undo by accident. When a discussion stalled, I built something small so people could react to a real object.

Figma file Arcade Assets open on a large green button with a heart icon, size variants in the sidebar, and five people on a video call.
Reviewing the Cash App button in Arcade Assets, with the team on the call.

what we built

We started on high-traffic surfaces where the pain was obvious. Token infrastructure with seven-plus theme variants. Generators for ten-plus platforms from one source. A Figma pipeline with bidirectional sync and automated PRs. Icon management that tracked thousands of modifications. Buildkite automation, and @arcade/web as a published npm package.

I treated adoption as a design problem. Contributors showed up as trust grew. My work shifted from writing most of the system to keeping it coherent.

what shipped

By late 2024, 145 flows had moved onto Arcade, covering about 85% of app traffic. Early 2025 it was around 95%.

I moved to org-wide AI work in early 2025. People still asked for strategic calls, but Arcade no longer needed me in the day-to-day. Design quality held because the default path worked.

95% of Cash App surfaces, serving 60+ million users

what it enabled

Arcade’s point was the product. Cash App’s visual language evolved on it: Money, learning, and later the AI surfaces. Teams kept shipping work that still felt like Cash App because the tokens and components were already there.

Four Arcade-built Cash App cards: Flip scams, A better way to bitcoin, an Apple stock prompt, and a Reuters headline.
Learning cards, bitcoin, and news modules built with Arcade.
Four Cash App phone screens: Money shortcuts, Moneybot setting a savings goal for Mexico, Security Hub shopping scams, and More for you with a bitcoin card.
Money, Moneybot, Security Hub, and More for you.

© 2026 Nahiyan Khan

Built with Astro · Hosted on Vercel · Privacy
root about work contact
Drag the active highlight to preview pages. Release to choose. Escape cancels. Or use arrow keys and page links.