← Work Lowe's Design Systems
Shipped · Lowe's · 2022 – 2026
Lowe's Design Systems
The design system two native apps and an entire UX organization run on.
The Situation
Lowe's native apps generate over $2B a year with 16M+ downloads and 4M monthly active users, and had no design system. Every feature was built from scratch, by a different team, inconsistently.
There was no shared language between design and engineering, no structured handoff, and no mechanism to catch drift at scale. The opportunity was to build the foundation everything else would run on.
The Assumption
Build a component library for designers.
What Was Actually True
Build a shared system that closes the gap between design intent and production implementation, across two platforms, for an entire organization. The real job was making it faster to ship consistent UI than to build a one-off.
Decision 01
Platform-Native, Not Platform-Agnostic
iOS followed Apple's Human Interface Guidelines and shipped as a Swift SDK; Android followed Material 3 and shipped as Jetpack Compose in Kotlin. Those platforms have genuinely different paradigms, and pretending otherwise produces something tidy that nobody uses. Semantic tokens held the brand together across both, and WCAG AA contrast became a property of the token set rather than an audit at the end.
Decision 02
Built With the Engineers, Not Handed to Them
I built the SDKs alongside the engineers rather than handing over a Figma file and hoping. I wrote the documentation, all of it. We built sample apps so a designer or an engineer could see every component in every state before reaching for it. Then Code Connect closed the last gap: a designer sets a toggle in Figma, a developer inspecting it sees the real call with the right props. Not generated CSS. The actual code.
What Ran on It
The flagship features shipped on top of the system are their own cases: the Paint Configurator and MyLowe's Home. Inbox and Apple Pay shipped the same way: full-lifecycle delivery from research through QA, built to WCAG 2.1 AA.
A Weekly Session for the Whole UX Org
Every Friday for years I ran a training session on the system for the entire UX organization, with dozens attending each week. Those were not evangelism. They were the feedback loop: an hour a week in which I found out which parts confused people, which workflows the system did not cover, and what was actually blocking adoption. The libraries ended up being used more than a million times a year, and that hour is most of the reason.
What Shipped
1M+
Design system uses per year
Figma library analytics
$10M+
Design and development cost avoided
internal estimate: designer and engineer time saved across a several-thousand-person org
What I’d Do Differently
I made myself the quality mechanism. Doing the design QA personally caught things no screenshot would, but one person reviewing pull requests does not scale and does not survive that person leaving. Engineer training was uneven, mistakes shipped, and the interface was never as good as the system could have made it. The right answer was to move enforcement into the pipeline: lint rules, visual regression, checks that fail a build when a component is redrawn instead of used, so the system defends itself rather than depending on me to notice. It is still an open problem there, and it is the first thing I would build next time.