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.
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.
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.
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.
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.