Intro
A grocery shopping app designed to help people save during the cost-of-living crisis
I designed Zapp, a grocery app that empowers people to save money by comparing grocery prices and finding the most affordable options during the cost-of-living crisis.
Key insights from user research
Rising grocery prices are putting pressure on everyone's budget, while comparing deals across supermarkets takes time most people don't have.
Too expensive
With grocery prices rising month on month, parents told me the weekly shop has quietly become the hardest bill to control.
As a mother "during these times you have to find ways to save as much as possible"

Everyone feels the squeeze
Even people living alone struggle to plan and afford a consistent weekly or monthly shop. This isn’t only a family problem.
Even with someone like me who lives by himself shopping can be a hassle and is still expensive.”

No time to shop around
Travelling between supermarkets to chase deals is unrealistic with young children. The cheapest option loses to the nearest one.
“I just gave birth so travelling to do shopping right now feels quite hard”

The Challenge
Bringing every supermarket into one basket isn’t as simple as it sounds
If the need is clear, why hasn't it been solved? Because it's a tough problem. Here's how three real-world challenges shaped the solution.
Every design decision started with a real constraint. Grocery comparison platforms already prove that large-scale product matching is possible. It just needs to be designed around carefully.
Solving the problem
So how does Zapp solve it?
Three steps: one list in, one recommendation out.
2.
Prices move all day
Supermarkets reprice thousands of lines a week. A total that was right this morning can be wrong by dinner.
Open
Give every quote a shelf life
Prices change throughout the day, so Zapp shows when each basket was last checked. If the data expires, it refreshes instead of showing outdated prices.
Open
Example
Open
3.
No supermarket wants this
There are no public price APIs. Comparison is the one feature retailers won’t build against themselves. Data has to come from aggregator feeds that lag the shelf.
Open
Source prices without the supermarkets’ help
Instead of relying on retailer APIs, Zapp uses trusted aggregator feeds and available integrations, with every price showing when it was last updated.
Open
Example
Open
Exploring directions
I began the design process by analysing user flows and profile setups from various supermarket UI designs.
Visual explorations. Testing how “fresh” and “affordable” can live in one visual language.
The process
Mapping the customer journey from initial idea to completed order
Before wireframing, I mapped the full journey: ten steps across three phases, covering the shopper’s actions, Zapp’s responses and a loop that prevents a veto from restarting the process.

Open
Everything came back to one point: price comparison is useless if building the shopping list feels like work. Research showed two clear behaviours: some people arrived knowing exactly what they needed, while others planned the week as they shopped. Before moving into visual design, I wireframed three ways to build the same basket.

VALIDATION
Real-world reactions Coming Soon!
Testing is in progress. Moderated, task-based sessions with parents from the research group. Here's what I'm putting in front of them, honestly framed as open questions.
Open questions I’m testing
01
Do you understand what the app does?
Can you understand that the main purpose of this app is to save you money on shopping?
02
Does price refresh help?
Admitting a price may have changed is honest. I’m testing whether that honesty reassures shoppers or makes every number feel unstable.
03
How often would you use this app?
Would you use this app on a weekly basis?










