Step 1 — Context

ShopApp by Lululemon

lululemon's $1B+ revenue mobile app — shipping acquisition infrastructure, a SwiftUI design system, and best-in-class commerce experiences.

Senior iOS Engineer2022–2026
Team
Large cross-functional commerce organization (iOS, backend, growth, analytics, design systems)
Industry
Retail, Mobile Commerce

Tools & technologies

SwiftSwiftUIUIKitCombineAsync/AwaitActivityKitWidgetKitAppsflyer SDKButton SDKDeep LinkingNTPBackground TasksXCTestXCUITest

The Problem

Create an elevated mobile guest experience that supports growth, builds trust through accuracy and reliability, and reinforces brand connection at every touchpoint.

Step 2 — Process

Process & Approach

Key Challenges Overcome

Challenge 1

Accelerate guest acquisition while ensuring campaign-driven traffic lands in an accurate, up-to-date, and high-trust commerce experience.

Solution

Integrated Appsflyer, Button SDK, and Apple Search Ads for measurable attribution. Built a Network Time Authority and DateTimeService to eliminate clock drift. Improved background refresh and deeplink routing so campaign traffic landed in a fresh, accurate experience.

Challenge 2

Modernize and elevate the mobile guest journey by transitioning to native SwiftUI and standing up a scalable design system that reinforces brand consistency and premium feel.

Solution

Transitioned commerce surfaces from UIKit to composable SwiftUI patterns. Contributed foundational Pattern Library components and instrumented reuse analytics. Shipped PDP improvements — ratings, size preselection, color grouping, and Apple Pay edge cases.

Guest Acquisition & Infrastructure Reliability

Integrated Appsflyer, Apple Search Ads, and Button SDK to create a measurable acquisition layer. Strengthened deeplink routing via closure-based navigation and regional DB mapping. Built a Network Time Authority (NTP-backed DateTimeService) with buffer logic to eliminate clock drift and reduce Early Access race conditions.

AI/ML-Powered Merchandising & Content Freshness

Collaborated with data science and AI/ML teams to integrate recommendation model outputs — Hot & Trending, Fresh Picks, New in the last 30 days — into the mobile layer. Implemented background DB refresh and task syncing, optimized image payloads, and resolved async loading hangs so Guests saw fresh, personalized content without manual refresh.

Native Modernization, Design System & Elevated PDP

Transitioned legacy UIKit surfaces to composable SwiftUI patterns, improving state handling, accessibility, and localization. Contributed foundational Pattern Library components and instrumented reuse analytics. PDP improvements included ratings display, review flow simplification, size preselection, color grouping logic, and Apple Pay edge case fixes.

Upper Funnel Focus Areas (For You, Shop Home, CDP, PDP)

Homepage — Editorial storytelling & guest entry point

Homepage — Editorial storytelling & guest entry point

Full-bleed editorial surface powered by dynamic merchandising. Contributed to SwiftUI modernization and background refresh infrastructure that kept campaign content fresh and responsive during high-traffic launch events.

Fresh Picks — AI/ML-powered recommendation feed

Fresh Picks — AI/ML-powered recommendation feed

Cross-functional work with data science and ML teams to surface personalized, time-scoped feeds. Background task syncing and optimized image payloads kept 600+ item feeds accurate and snappy without manual refresh.

PDP — Confidence & purchase clarity

PDP — Confidence & purchase clarity

Shipped ratings + review count display, size preselection, color grouping logic, and Apple Pay edge case fixes. Each improvement reduced friction and strengthened purchase confidence on lululemon's highest-traffic surface.

Flow Design System

Pattern Library — Core Components

Buttons

Colour Tokens

Design System — Pattern Library components

Led the project to create a new design system in SwiftUI with design and product, planning rollout and implementation strategies across the app. Drove the architectural shift from MVC to MVVM to support composable, testable UI at scale.

Hangs & Hitches

Instruments

Frame rate timeline

0ms

2

Hitches

1

Hangs

Hangs & Hitches — Performance evaluation

Profiled the app using Instruments to identify and resolve UI hangs and hitches — fixing async image loading stalls, homepage blocking states, and frame drops during high-traffic events.

Live Activity — Real-time order tracking

Live Activity — Real-time order tracking

Built real-time order status using ActivityKit and WidgetKit — countdown timers, order stage progress, and BOPIS pickup location on the lock screen and Dynamic Island without opening the app.

Step 3 — Outcome

Outcome & Reflection

Results & Impact

  • Scaled acquisition infrastructure through Appsflyer, Button SDK, and Apple Search Ads attribution — creating a measurable, reliable growth layer.
  • Built authoritative time services (NTP-backed DateTimeService) for drop reliability, eliminating device clock drift and reducing Early Access race conditions.
  • Improved background data freshness and performance — resolving async image hangs and ensuring dynamic feeds (Hot & Trending, Fresh Picks, New in 30 Days) surfaced accurately during traffic spikes.
  • Delivered real-time order tracking via Live Activities (ActivityKit / WidgetKit) — countdown timers, order stage progress, and BOPIS pickup on the lock screen and Dynamic Island.
  • Contributed to SwiftUI modernization across commerce surfaces and helped establish scalable Pattern Library foundations that accelerated team velocity.
  • Elevated PDP experience through ratings visibility, size confidence improvements, and a simplified review flow.

Reflections & Lessons Learned

  • In commerce, reliability is conversion. Guests lose trust quickly when time-gated or drop-based experiences fail — infrastructure accuracy is a product decision.
  • Growth infrastructure is not just an SDK install. It requires careful routing, validation, and performance monitoring to be trustworthy at scale.
  • System-level improvements — time authority, background sync, reusable components — create compounding long-term value that one-off fixes never do.
  • Design systems accelerate velocity only when paired with strong engineering foundations; instrumented analytics on component reuse made the value tangible.

Future Improvements

Expand Live Activities to cover more of the order lifecycle — from confirmation through delivery — with richer Dynamic Island states.

Deepen AI/ML merchandising integration with more personalized feed ranking and real-time inventory-aware recommendations.

Continue Pattern Library coverage to reduce surface-level UI divergence and further accelerate feature iteration.

My Cross-Functional Impact

Product Perspective

  • Supported acquisition strategy through SDK implementation and attribution validation across Appsflyer, Button SDK, and Apple Search Ads.
  • Partnered on PDP improvements — ratings, size preselection, Apple Pay — that increased clarity and purchase confidence.
  • Collaborated with data science and AI/ML teams to surface personalized recommendation feeds (Fresh Picks, Hot & Trending, New in 30 Days) in the mobile layer.

Design Perspective

  • Influenced Pattern Library foundations and reusable component strategy; instrumented analytics to measure design consistency.
  • Contributed to SwiftUI modernization, improving accessibility, localization, and interaction quality across commerce surfaces.
  • Designed and implemented Live Activity UI for real-time order tracking on the lock screen and Dynamic Island.

Engineering Perspective

  • Built Network Time Authority (NTP-backed DateTimeService) for accurate drop gating and Early Access reliability.
  • Improved background refresh, async performance, and image loading — keeping merchandising fresh under campaign traffic spikes.
  • Strengthened deeplink routing infrastructure and integrated acquisition SDKs for measurable, reliable growth.