Aaron Makaruk

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

Role
Senior Product Designer, leading design and engineering of the mobile design system end to end
Team
Led a team of designers; partnered with SDK engineers, PMs, and directors across UX and Engineering
Years
2022 – 2026
Platforms
iOS (SwiftUI), Android (Jetpack Compose)

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.