ShopApp by Lululemon
At lululemon, I worked on the details that turn an app visit into a purchase: getting people to the right product, keeping launches on time, and making checkout feel dependable.
- Team
- — Large cross-functional commerce organization (iOS, backend, growth, analytics, design systems)
- Industry
- — Retail, Mobile Commerce
Tools & technologies
The Problem
Slow feeds, unreliable launch timing, and purchase friction could cost a sale.
The approach
How the work took shape
Make the handoff into the app work
An affiliate or influencer link had to land a guest in the right place, whether the app was installed or not. I integrated Button alongside Appsflyer and Apple Search Ads, keeping attribution intact through the journey. The 90-day Button pilot recorded $9.6M in app revenue, 34K downloads, and a reported 79% conversion lift.
Keep the shop current
Recommendation feeds were useful only if the app could load them reliably. I worked with data science teams to bring Fresh Picks and Hot & Trending into the mobile experience, then improved background refresh, image payloads, and task syncing. I also built an NTP-backed time service so device clock drift would not dictate access to a product drop.
Improve the parts guests touch
Alongside that infrastructure, I moved UIKit screens toward reusable SwiftUI patterns and helped establish Flow, the design system. Product-page work covered ratings, reviews, size selection, color grouping, and Apple Pay edge cases. Live Activities carried order progress and pickup information onto the lock screen and Dynamic Island.
The hard parts
The constraint
A campaign could bring guests into an app with stale content or incorrect launch timing.
The decision
I connected acquisition routing with better refresh behavior and an authoritative time service.
The constraint
The team had to modernize the app while continuing to ship commerce features.
The decision
Reusable SwiftUI patterns and Flow components let the migration happen through everyday product work.
Upper Funnel Focus Areas (For You, Shop Home, CDP, PDP)

Homepage
Campaign content depended on the refresh and loading work behind the screen, particularly during busy launches.

Fresh Picks
Recommendation feeds could contain more than 600 items. Background syncing and smaller image payloads kept them usable.

Product details
Ratings, size selection, grouped colors, and payment fixes helped guests make the final purchase decisions.
Flow Design System
Pattern Library — Core Components
Buttons
Colour Tokens
Design System — Flow components
Shared SwiftUI components gave design and engineering a common foundation for new features and the migration from MVC to MVVM.
Hangs & Hitches
InstrumentsFrame rate timeline
2
Hitches
1
Hangs
Hangs & Hitches
Instruments helped locate image-loading stalls, blocked homepage states, and dropped frames.

Live Activity — Order tracking
Order stages, countdowns, and pickup locations stayed available without reopening the app.
The outcome
What changed
The result
- ✓The 90-day Button pilot recorded $9.6M in app revenue, 34K downloads, and a reported 79% conversion lift.
- ✓A later FY26 analysis projected $59.5M in annual incremental revenue and attributed 355K downloads to Button. The revenue figure was a projection, not realized revenue.
- ✓Shipped authoritative launch timing, background feed improvements, and fixes for loading hangs.
- ✓Delivered Live Activities for order progress and pickup, alongside product-page improvements and reusable SwiftUI components.
Looking back
The visible improvements depended on work guests would never name: accurate time, reliable links, and data that refreshed when it should.
Flow was most useful when teams could use its components in a feature they were already shipping. That made the migration practical.
Where I contributed
Product
- Connected acquisition, recommendations, and purchase improvements with growth and data teams.
Design
- Helped create Flow and built native order-tracking experiences.
Engineering
- Integrated acquisition SDKs and built time services, background refresh, and SwiftUI commerce features.
Related projects
Mozaic App
Senior Product Manager
Making shared earnings easier to understand, from the split agreement to the payout.
Motif
Design Lead
Helping people turn a photo library into something they could hold. Featured at WWDC 2018; later acquired by Mimeo.
DesignCar
Founder/CEO
A Porsche Digital spinout I founded and grew to 300K+ downloads in under six months.