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 development—all 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
79%
+9 points sustained improvement
Purchase conversion increased from 70%—sustained across full year, proving design reduced shopping friction.
79%
+9 points sustained improvement
Purchase conversion increased from 70%—sustained across full year, proving design reduced shopping friction.
Continuous feature releases in year 1
Unlocked regular product velocity after multi-year freeze—component foundation enabled ongoing feature development.
Continuous feature releases in year 1
Unlocked regular product velocity after multi-year freeze—component foundation enabled ongoing feature development.
Design repositioned as strategic function
Shifted from "make it look good" to strategic partner driving measurable outcomes.
Design repositioned as strategic function
Shifted from "make it look good" to strategic partner driving measurable outcomes.
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?


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.

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.



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.

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


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.

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.



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.

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


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.

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.



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.

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.
✦
She’s shipped big bets, cleaned up chaos, and made it look easy — even when it wasn’t.
✦
She’s shipped big bets, cleaned up chaos, and made it look easy — even when it wasn’t.
