Enter Password

Hint: NDA-protected work. Password is on my resume. Questions? hello@serenakim.ca

Back

Flashfood Shopper App

Reducing shopping friction to unlock long-term customer value

Role
Lead Product Designer (managing 1 junior designer)
Timeline
  • 6-week design sprint
  • 6+ months total delivery
Platform
iOS & Android

Unblocked a multi-year product freeze caused by technical fragility. Rebuilt the consumer shopping experience and established design system foundations that became the infrastructure for all future product developmentall within a 6-week design sprint under strict backend constraints.

Leadership: Set the strategic direction and vision. Developed and advocated for junior designer's growth in system thinking and presentation skills. Established cross-functional design review processes that continued post-launch.

Impact

  • Why Sustained Lift Matters Flashfood's numbers naturally fluctuate with partner engagement and marketing pushes. A 9-point lift that holds for a full year isn't a spike it's a structural change in how people use the product.

  • Post-Launch Velocity The component foundation gave the team something it hadn't had in years: the ability to keep shipping. Favorite Store, Pickup Reminders, and several user-requested features all went live within year one. None of that was possible before.

  • Organizational Transformation This project paid down years of technical and design debt and changed how the team works. The design review practices and component system we built during the sprint became the foundation for everything after.

How We Got There

Strategic context, design decisions, and leadership approach.

Strategic Context

The shopper app hadn't seen a meaningful update in years. The codebase was so fragile that any change risked breaking existing functionality — so nothing shipped. This project was leadership's decision to pay down that debt and reposition design as a driver of business outcomes.

What we walked into: The backend was too unstable to modify within our timeline, so every improvement had to be delivered through the front end. iOS and Android had diverged into essentially different apps — inconsistent navigation, different features, different interaction patterns. No shared component library existed. Any change we made had to work within these constraints.

The sprint: Week 1 established design system foundations. Weeks 2–6 were design and build in parallel — core flows built on reusable components from day one. Post-handoff, I stayed embedded with engineering through 6+ months of build and delivery.

Problem Definition

Flashfood is a marketplace where grocery partners upload surplus inventory. We don't control what gets uploaded, when, or how much is available — so what users see at any given time is unpredictable. Marketing can drive traffic, but if the experience prevents someone from completing a purchase, that demand is wasted.

Our LTV data told a clear story: 55% of first-time purchasers become regular shoppers. Every friction point preventing that first transaction didn't just lose a sale — it lost a long-term customer.

Key questions we needed to answer:

  • How do we maximize first-purchase success when inventory is unpredictable?

  • How do we reduce checkout friction at the most critical conversion point?

  • How do we build foundations that enable continuous improvement rather than another multi-year freeze?

Green aurora borealis over a calm lake at night

Strategic Design Decision 1

List View Default (Map View Secondary)

55% of users shopped a single store, yet multi-store shoppers spent 2x more. Users who landed on empty stores abandoned immediately.

I led the shift from a map-first experience to a list-first discovery model to increase inventory exposure and maximize first-purchase success.

Map view had internal advocates who saw it as a differentiator. I reframed the discussion from “removing a feature” to prioritizing the default that maximizes conversion — preserving map access while elevating multi-store opportunity.

A vintage street lamp illuminates a snowy alleyway at night.

Strategic Design Decision 2

Checkout Flow Restructure

55% of first-time purchasers become regular shoppers — so checkout friction doesn't just cost a sale, it costs a long-term customer. The existing checkout was a single overloaded screen that got worse when EBT payment was added through a third-party service, creating confusion for all users, not just EBT shoppers.

We removed redundant information, replaced checkbox activation with a toggle to match user mental models, and created a dedicated EBT screen with step-by-step guidance. EBT users are central to Flashfood's social impact mission — high friction here prevented a key audience from crossing the first-purchase threshold that predicts long-term engagement.

Airplane wing seen through a window above clouds

Strategic Design Decision 3

Component System from Scratch

Without a shared component system, iOS and Android would keep diverging, quality would stay inconsistent, and any future work would risk the same kind of freeze. This wasn't just a design problem — it was an organizational capability gap that needed solving before we could build anything retail-relevant.

Week 1 established the base system: colors, text styles, buttons. Weeks 2–6, we built components while designing flows — reusing prior work on every screen and documenting usage for engineering. Features that previously took months could now ship in weeks. The component system became the foundation that enabled continuous product development post-launch.

Barista working behind counter in sunlit cafe
Cross-Functional Leadership

During the sprint, I held weekly reviews with product and engineering to validate direction, surface technical limitations early, and keep decisions aligned with business priorities. The team saw decisions evolve in real time — no surprises at handoff.

After week six, I shifted into a support role for the remaining build phase. I stayed embedded with engineering — answering questions, refining designs around technical realities, and protecting coherence rather than moving immediately to the next initiative.

I set the strategic direction and vision. The junior designer executed screens based on that direction. Early on, they were over-customizing components rather than using the base system we were establishing — I gave feedback to rely on the system we were building rather than creating one-off variations. Over the 6 weeks, they improved at component usage and became more confident presenting work in design reviews. My approach was to give them space to execute and guide when needed, rather than directing every decision. They left after design handoff for a better opportunity.

Measurement Constraints & Strategic Response

The Reality We launched without detailed experience tracking. Business metrics like sell-through and revenue were available, but experience metrics like checkout completion and task success were not.

Why This Happened As an organization rebuilding fragile infrastructure, measurement investment focused on business-critical metrics first. The choice was to ship and improve measurement over time, or delay launch and risk another quarter without progress.

How I Mitigated:

  • Ran quick usability tests before launch

  • Monitored indirect signals such as support tickets, app store reviews, and qualitative feedback

  • Partnered with product to track what we could measure

  • Created a post-launch plan to add proper tracking

What I'd Do Differently: I would push harder for lightweight tracking from day one. Even basic flow measurement would have increased confidence in experience improvements beyond revenue numbers.

The Lesson: Business metrics validate strategy. Experience metrics validate execution. Senior design leaders need to advocate for measurement infrastructure, not simply work within existing limitations.

Systems Built Post-Launch:

  • Added tracking to key user flows

  • Established quarterly experience health reviews alongside business metrics

  • Created an ongoing partnership between design and product around measurement

  • These practices extended beyond this project

This was not simply a redesign. It rebuilt design’s strategic role within the organization. The systems, processes, and cross-functional practices outlived the project itself and enabled sustained product velocity long after launch.

Testimonial

Nicholas Bertram, former CEO at Flashfood

Strategic Context

The shopper app hadn't seen a meaningful update in years. The codebase was so fragile that any change risked breaking existing functionality — so nothing shipped. This project was leadership's decision to pay down that debt and reposition design as a driver of business outcomes.

What we walked into: The backend was too unstable to modify within our timeline, so every improvement had to be delivered through the front end. iOS and Android had diverged into essentially different apps — inconsistent navigation, different features, different interaction patterns. No shared component library existed. Any change we made had to work within these constraints.

The sprint: Week 1 established design system foundations. Weeks 2–6 were design and build in parallel — core flows built on reusable components from day one. Post-handoff, I stayed embedded with engineering through 6+ months of build and delivery.

Problem Definition

Flashfood is a marketplace where grocery partners upload surplus inventory. We don't control what gets uploaded, when, or how much is available — so what users see at any given time is unpredictable. Marketing can drive traffic, but if the experience prevents someone from completing a purchase, that demand is wasted.

Our LTV data told a clear story: 55% of first-time purchasers become regular shoppers. Every friction point preventing that first transaction didn't just lose a sale — it lost a long-term customer.

Key questions we needed to answer:

  • How do we maximize first-purchase success when inventory is unpredictable?

  • How do we reduce checkout friction at the most critical conversion point?

  • How do we build foundations that enable continuous improvement rather than another multi-year freeze?

Green aurora borealis over a calm lake at night

Strategic Design Decision 1

List View Default (Map View Secondary)

55% of users shopped a single store, yet multi-store shoppers spent 2x more. Users who landed on empty stores abandoned immediately.

I led the shift from a map-first experience to a list-first discovery model to increase inventory exposure and maximize first-purchase success.

Map view had internal advocates who saw it as a differentiator. I reframed the discussion from “removing a feature” to prioritizing the default that maximizes conversion — preserving map access while elevating multi-store opportunity.

A vintage street lamp illuminates a snowy alleyway at night.

Strategic Design Decision 2

Checkout Flow Restructure

55% of first-time purchasers become regular shoppers — so checkout friction doesn't just cost a sale, it costs a long-term customer. The existing checkout was a single overloaded screen that got worse when EBT payment was added through a third-party service, creating confusion for all users, not just EBT shoppers.

We removed redundant information, replaced checkbox activation with a toggle to match user mental models, and created a dedicated EBT screen with step-by-step guidance. EBT users are central to Flashfood's social impact mission — high friction here prevented a key audience from crossing the first-purchase threshold that predicts long-term engagement.

Airplane wing seen through a window above clouds

Strategic Design Decision 3

Component System from Scratch

Without a shared component system, iOS and Android would keep diverging, quality would stay inconsistent, and any future work would risk the same kind of freeze. This wasn't just a design problem — it was an organizational capability gap that needed solving before we could build anything retail-relevant.

Week 1 established the base system: colors, text styles, buttons. Weeks 2–6, we built components while designing flows — reusing prior work on every screen and documenting usage for engineering. Features that previously took months could now ship in weeks. The component system became the foundation that enabled continuous product development post-launch.

Barista working behind counter in sunlit cafe
Cross-Functional Leadership

During the sprint, I held weekly reviews with product and engineering to validate direction, surface technical limitations early, and keep decisions aligned with business priorities. The team saw decisions evolve in real time — no surprises at handoff.

After week six, I shifted into a support role for the remaining build phase. I stayed embedded with engineering — answering questions, refining designs around technical realities, and protecting coherence rather than moving immediately to the next initiative.

I set the strategic direction and vision. The junior designer executed screens based on that direction. Early on, they were over-customizing components rather than using the base system we were establishing — I gave feedback to rely on the system we were building rather than creating one-off variations. Over the 6 weeks, they improved at component usage and became more confident presenting work in design reviews. My approach was to give them space to execute and guide when needed, rather than directing every decision. They left after design handoff for a better opportunity.

Measurement Constraints & Strategic Response

The Reality We launched without detailed experience tracking. Business metrics like sell-through and revenue were available, but experience metrics like checkout completion and task success were not.

Why This Happened As an organization rebuilding fragile infrastructure, measurement investment focused on business-critical metrics first. The choice was to ship and improve measurement over time, or delay launch and risk another quarter without progress.

How I Mitigated:

  • Ran quick usability tests before launch

  • Monitored indirect signals such as support tickets, app store reviews, and qualitative feedback

  • Partnered with product to track what we could measure

  • Created a post-launch plan to add proper tracking

What I'd Do Differently: I would push harder for lightweight tracking from day one. Even basic flow measurement would have increased confidence in experience improvements beyond revenue numbers.

The Lesson: Business metrics validate strategy. Experience metrics validate execution. Senior design leaders need to advocate for measurement infrastructure, not simply work within existing limitations.

Systems Built Post-Launch:

  • Added tracking to key user flows

  • Established quarterly experience health reviews alongside business metrics

  • Created an ongoing partnership between design and product around measurement

  • These practices extended beyond this project

This was not simply a redesign. It rebuilt design’s strategic role within the organization. The systems, processes, and cross-functional practices outlived the project itself and enabled sustained product velocity long after launch.

Testimonial

Nicholas Bertram, former CEO at Flashfood

Strategic Context

The shopper app hadn't seen a meaningful update in years. The codebase was so fragile that any change risked breaking existing functionality — so nothing shipped. This project was leadership's decision to pay down that debt and reposition design as a driver of business outcomes.

What we walked into: The backend was too unstable to modify within our timeline, so every improvement had to be delivered through the front end. iOS and Android had diverged into essentially different apps — inconsistent navigation, different features, different interaction patterns. No shared component library existed. Any change we made had to work within these constraints.

The sprint: Week 1 established design system foundations. Weeks 2–6 were design and build in parallel — core flows built on reusable components from day one. Post-handoff, I stayed embedded with engineering through 6+ months of build and delivery.

Problem Definition

Flashfood is a marketplace where grocery partners upload surplus inventory. We don't control what gets uploaded, when, or how much is available — so what users see at any given time is unpredictable. Marketing can drive traffic, but if the experience prevents someone from completing a purchase, that demand is wasted.

Our LTV data told a clear story: 55% of first-time purchasers become regular shoppers. Every friction point preventing that first transaction didn't just lose a sale — it lost a long-term customer.

Key questions we needed to answer:

  • How do we maximize first-purchase success when inventory is unpredictable?

  • How do we reduce checkout friction at the most critical conversion point?

  • How do we build foundations that enable continuous improvement rather than another multi-year freeze?

Green aurora borealis over a calm lake at night

Strategic Design Decision 1

List View Default (Map View Secondary)

55% of users shopped a single store, yet multi-store shoppers spent 2x more. Users who landed on empty stores abandoned immediately.

I led the shift from a map-first experience to a list-first discovery model to increase inventory exposure and maximize first-purchase success.

Map view had internal advocates who saw it as a differentiator. I reframed the discussion from “removing a feature” to prioritizing the default that maximizes conversion — preserving map access while elevating multi-store opportunity.

A vintage street lamp illuminates a snowy alleyway at night.

Strategic Design Decision 2

Checkout Flow Restructure

55% of first-time purchasers become regular shoppers — so checkout friction doesn't just cost a sale, it costs a long-term customer. The existing checkout was a single overloaded screen that got worse when EBT payment was added through a third-party service, creating confusion for all users, not just EBT shoppers.

We removed redundant information, replaced checkbox activation with a toggle to match user mental models, and created a dedicated EBT screen with step-by-step guidance. EBT users are central to Flashfood's social impact mission — high friction here prevented a key audience from crossing the first-purchase threshold that predicts long-term engagement.

Airplane wing seen through a window above clouds

Strategic Design Decision 3

Component System from Scratch

Without a shared component system, iOS and Android would keep diverging, quality would stay inconsistent, and any future work would risk the same kind of freeze. This wasn't just a design problem — it was an organizational capability gap that needed solving before we could build anything retail-relevant.

Week 1 established the base system: colors, text styles, buttons. Weeks 2–6, we built components while designing flows — reusing prior work on every screen and documenting usage for engineering. Features that previously took months could now ship in weeks. The component system became the foundation that enabled continuous product development post-launch.

Barista working behind counter in sunlit cafe
Cross-Functional Leadership

During the sprint, I held weekly reviews with product and engineering to validate direction, surface technical limitations early, and keep decisions aligned with business priorities. The team saw decisions evolve in real time — no surprises at handoff.

After week six, I shifted into a support role for the remaining build phase. I stayed embedded with engineering — answering questions, refining designs around technical realities, and protecting coherence rather than moving immediately to the next initiative.

I set the strategic direction and vision. The junior designer executed screens based on that direction. Early on, they were over-customizing components rather than using the base system we were establishing — I gave feedback to rely on the system we were building rather than creating one-off variations. Over the 6 weeks, they improved at component usage and became more confident presenting work in design reviews. My approach was to give them space to execute and guide when needed, rather than directing every decision. They left after design handoff for a better opportunity.

Measurement Constraints & Strategic Response

The Reality We launched without detailed experience tracking. Business metrics like sell-through and revenue were available, but experience metrics like checkout completion and task success were not.

Why This Happened As an organization rebuilding fragile infrastructure, measurement investment focused on business-critical metrics first. The choice was to ship and improve measurement over time, or delay launch and risk another quarter without progress.

How I Mitigated:

  • Ran quick usability tests before launch

  • Monitored indirect signals such as support tickets, app store reviews, and qualitative feedback

  • Partnered with product to track what we could measure

  • Created a post-launch plan to add proper tracking

What I'd Do Differently: I would push harder for lightweight tracking from day one. Even basic flow measurement would have increased confidence in experience improvements beyond revenue numbers.

The Lesson: Business metrics validate strategy. Experience metrics validate execution. Senior design leaders need to advocate for measurement infrastructure, not simply work within existing limitations.

Systems Built Post-Launch:

  • Added tracking to key user flows

  • Established quarterly experience health reviews alongside business metrics

  • Created an ongoing partnership between design and product around measurement

  • These practices extended beyond this project

This was not simply a redesign. It rebuilt design’s strategic role within the organization. The systems, processes, and cross-functional practices outlived the project itself and enabled sustained product velocity long after launch.

Testimonial

Nicholas Bertram, former CEO at Flashfood