Product design across the whole Zapp ecosystem — app, web, design system, ops tools — shipped faster with AI.

I lead product design across Zapp's ecosystem: the consumer app, the web app, the operational tools behind them, the Zync design system, and the AI-assisted workflow we build with. I own each piece end to end, from the problem to the shipped screen. Zapp+, the membership, is where this page goes deepest — from the paywall to the retained member.

01 — Context

A complex product, moving fast.

Zapp is a high-velocity quick-commerce product spanning customer experiences, operational tools and a growing ecosystem of product surfaces.

Consumer app Zapp consumer app shown in hand — home screen with collections, Order Again and New In

Consumer app

Browsing, ordering and tracking: the surface most customers judge Zapp by.

Design system Zync Design System v1.0

Zync design system

The shared language underneath: governed components, variants and states.

Web app Zapp web app on a laptop — category navigation, promotional tiles and product rails

Web app

Browsing and ordering on the web: categories, editorial rails and a persistent basket.

02 — My role

My roleOwning the experience end to end, from problem to shipped screen.

Scope

Product

  • Product design across Zapp's consumer and operational experiences
  • Leading design direction across key product initiatives
Collaboration

Team

  • Working closely with Product and Engineering
  • Raising the quality and consistency of the product experience
Practice

Craft & tooling

  • Prototyping and shipping with AI-assisted design-to-code workflows
  • Grounding decisions in the field, alongside store teams
Foundations

System

  • Building and scaling the Zync Design System
  • Translating brand and visual principles into product UI

03 — Subscription conversion

Zapp+: designing the subscription funnel, from paywall to retained member

Zapp+ is the publicly launched membership. A subscription lives or dies on three moments: the paywall, where the value has to be unmistakable; the join step, where friction has to disappear; and everything after sign-up, where the value has to keep showing up so the first bill arrives with a reason attached.

I worked the membership end to end: the paywall and join flow, the manage flow, the member-only states that change how the app behaves once you're subscribed, and the moments throughout the journey where a member's value is reflected back — the retention side of the same funnel.

Zapp+ wordmark
The membership identity, drawn from the Zapp wordmark.
The public Zapp+ landing page on the web — Get Free Delivery & Earn 10% Credit, one month free, Join in the Zapp app
Website → app: the public Zapp+ landing is the top of the funnel, and hands off to the join screen in the app.
Zapp+ membership screen — value proposition, benefits list and primary call to action
The paywall: value first, decision second.

Hierarchy is a conversion lever.

On a paywall, comprehension is conversion: if the value isn't understood in one pass, the decision is deferred and usually lost. The hierarchy had to make the proposition instantly legible while staying consistent with the wider product.

  1. HierarchyThe benefit headline leads, the price sits directly beneath it, and the supporting terms step down in weight, so the decision is readable in one pass.
  2. TypographyOne scale carries the proposition, the benefit rows and the fine print, so emphasis comes from weight and size rather than new styles.
  3. SpacingEach benefit is a consistent row with a fixed icon column, giving the list a predictable rhythm.
  4. CTAA single full-width primary action, with the secondary option demoted to a text link rather than a competing button.
  5. ConsistencyIcon chips, cards and buttons come from the same component set used across the rest of the product.
  • Free deliveryOn qualifying orders, around the clock.
  • Credit backOn larger shops — value that returns to members.
  • Member-only statesThe app adapts once you join — pricing, delivery and prompts reflect membership.
  • Frictionless to joinFirst month free, cancel anytime — sign up in seconds with Apple Pay.

Value that keeps showing up after sign-up.

Retention is decided in the moments after the paywall. This is checkout as a member: the credit earned on this order sits on the order itself, at the point of decision, rather than in a settings page.

Zapp checkout as a Zapp+ member — basket, a Z+ banner reading You'll earn £7.94 credit on this order, total and Place order with Apple Pay
Checkout as a member: the Zapp+ credit is shown on the order itself.
  1. Value reflected back"You'll earn £7.94 credit on this order" sits between the basket and the total, at the moment the decision is made. The membership proves its value in the checkout, every time.
  2. Member stateThe tab bar carries Z+ in place of Home: once subscribed, the app reads as a member's app, not the same app with a badge.
  3. One decision, one action"Place order with Apple Pay" is the single primary action, with total and units beside it. Nothing competes with completing the order.

Zapp+, in numbers.

The value the join screen has to make unmistakable, and what every hierarchy decision on it is in service of.

Saved per year
by an average member
£300+
Credit back
on orders over £30
10%
Free delivery
on orders over £15
24/7
  • Join conversionsaw the paywall → subscribedLever: benefit headline first, price directly beneath it, one full-width action. The decision is readable in a single pass.
  • Month-one retentionfree month → still a memberLever: member-only states and the savings card in order tracking, so value keeps showing up before the first bill.
  • Time to joinopen paywall → confirmedLever: Apple Pay as the default, terms stepped down in weight, the secondary option demoted to a text link.

These are the metrics the work is judged on. They are measured internally; figures available under NDA.

04 — Behaviour-led redesign

Order trackingSolving the most anxious moment after purchase — and the one that drives support contacts.

The problem. The moment right after you order is the most anxious in the whole experience — where's my order, and when will it actually arrive? The old tracking screen answered that unevenly: the status was ambiguous, the ETA didn't feel trustworthy, and there was no single, calm place to follow a delivery from prepared to doorstep.

01

Make status instantly legible

A plain-language headline does more work than a progress bar alone.

02

Build trust through the ETA

A tight, honest time window earns more trust than an optimistic single time that slips.

03

Reduce cognitive load while waiting

Detail expands on demand, so the default view stays calm from prepared to delivered.

1
Zapp order tracking — order being prepared, with a clear status headline and ETA window

Being prepared: status & ETA window

2
Zapp order tracking — order packed and waiting to be picked up

Packed & waiting for a rider

3
Zapp order tracking — on its way, with rider identity and contact

On its way: rider identity & contact

4
Zapp order tracking — live map with the rider's location and a real-time ETA

Live map with a real-time ETA

5
Zapp order tracking — delivered, with Zapp+ savings surfaced

Delivered: Zapp+ value surfaced

Zapp order tracking — rider assigned, showing status headline, four-stage tracker and contact actions
Rider assigned: the state that carries the most emotional load.
  1. Status hierarchy"Your order is on its way to you." leads the card — plain language, largest weight, no competing element above it.
  2. ETAThe estimated arrival sits immediately below the headline in a lighter weight: supporting the answer, not competing with it.
  3. ProgressA four-stage tracker (Zapp, packed, rider, home) makes the current stage readable without reading any text.
  4. InteractionRider identity is paired with call and message actions, so contact is one tap from the status rather than buried in a menu.
  5. Progressive disclosureDelivery details and the order summary sit below, collapsed by default, keeping the top of the screen calm.
User behaviour analysis & research

I grounded the redesign in real behaviour rather than assumptions — looking at where customers dropped into support to ask "where is my order?", mapping how an order actually moves (prepared → packed → picked up → delivered), and testing early flows to see which signals people genuinely trusted. The recurring theme was simple: people don't want more data, they want certainty and honesty.

  • Status has to be legible at a glance — a plain-language headline does more work than a progress bar alone.
  • A tight, honest ETA window builds more trust than an optimistic single time that slips.
  • The rider is a person, not a dot — identity and a way to make contact take the edge off the wait.
  • Value belongs here too, but quietly — the Zapp+ savings should reassure, never get in the way of the core question.

The outcome. One calm, trustworthy screen that carries a customer from "being prepared" all the way to "delivered" — built from the same components, type and spacing as the rest of the product, so every state feels like one screen changing meaning rather than five different screens.

05 — Design engineering

From Figma to a working build, on a real device.

I wanted to reduce the distance between the design decision and the shipped experience.

I build Zync's components in code — with Claude, inside Storybook — not only in Figma. It collapses the gap between design and engineering: pixel-perfect execution with no developer interpretation, and nothing lost in hand-off. I assemble entire features from real, production-grade components and demo them live from my own iPhone.

Figma FigmaSource of truth: tokens, components, variants
Claude ClaudeComponents written in code, tokens intact
Storybook StorybookDocumented and testable in isolation
GitHub GitHubVersioned and reviewed like product code
Expo Expo · iPhoneThe real thing, running on a device

The goal wasn't automation for its own sake. It was to make the connection between design and implementation tighter, and allow design decisions to be evaluated in a real environment earlier.

06 — Where this is going

Design, systems and AI are becoming one workflow.

  1. 01 Product Define the problem and the decision worth making.
  2. 02 UI craft Set the quality bar: hierarchy, type, spacing, states.
  3. 03 Design system Encode the decision so it holds across surfaces.
  4. 04 Code Build it as the real thing, not a representation.
  5. 05 AI-assisted iteration Evaluate and refine against the actual experience.

I see AI as an extension of the design process rather than a replacement for design judgement.

The designer's role becomes even more important in defining the problem, establishing quality, making decisions and maintaining coherence across the system.

07 — Design system

ZyncThe system behind the quality.

The challenge wasn't simply to create a component library. It was to create a shared visual and interaction language that designers and engineers could actually use.

Zync Design System v1.0 cover
Zync Design System, v1.0.
Zync component documentation — Nav Bar with light and dark playground, variants and developer and designer docs
Governed component docs: playground, variants and dev/designer specs.
Scale required a system.

The foundations

Built atomically, from colour and type tokens up through components and patterns to full ordering and operational screens, so consumer and operational surfaces share the same primitives across iOS, Android and Web.

Zapp brand colour tokens: a single 50–950 scale, the atomic foundation every Zync component builds on.

Typography

A clearer hierarchy across product surfaces

One scale shared by consumer and operational screens, so emphasis is consistent wherever you are.

Spacing

Predictable rhythm and alignment

Shared spacing primitives give every card, row and control the same underlying grid.

Components

Repeatable decisions instead of one-off solutions

Each component carries its own variants and states, so behaviour travels with the visual.

From components to behaviour.

A component isn't finished when it looks right in one state. Zync components are documented with a light and dark playground, their full variant set, and both developer and designer specs, so the same decision holds wherever it's used.

Zync Nav Bar component documentation with description, playground and full variant set
  1. DefinitionEvery component opens with what it does and where it belongs, before a single variant is shown.
  2. PlaygroundLight and dark are documented side by side, so theme behaviour is part of the component rather than an afterthought.
  3. VariantsThe Nav Bar carries its full set (title bars, search, address and notification states) instead of a single default.
  4. Icon alignmentLeading and trailing actions sit on a fixed grid, so icons stay optically aligned across variants.
  5. Two audiencesDeveloper docs and designer docs sit on the same page, which keeps one definition rather than two interpretations.

From individual decisions to reusable decisions.

The clearest way to raise the bar is to stop re-deciding. A pattern proven in a real product surface becomes a governed component, and every surface built afterwards inherits that quality by default.

Order tracking screen using the navigation and card patterns
In product: the pattern solved in a real screen.
The same navigation pattern documented as a governed Zync component
In the system: the same decision, governed and reusable.

Making quality scalable.

A design system doesn't create quality on its own. The team needs shared principles, strong critique and clear examples of what good looks like.

01 — Principles

Clear visual and interaction standards

A written bar for hierarchy, type, spacing and states that a decision can be measured against.

02 — Critique

Specific, actionable feedback

Focused on improving the work rather than imposing personal taste.

03 — Systems

Reusable components and patterns

That encode good decisions, so the next screen starts from a higher baseline.

08 — The challenge

The challenge wasn't only consistency. It was quality.

As the product evolved quickly, different teams and product areas were solving similar UI problems in different ways. The result was increasing fragmentation, not only in components and patterns but in the overall quality and feel of the experience.

How do you raise the UI quality bar without slowing down a fast-moving product organisation?
Zapp+ membership surface
Membership
Zapp order tracking surface — status, progress tracker and membership value
Order tracking
Zapp web app on a laptop — category navigation, promotional tiles and product rails
Web browsing
Zapp operational tooling
Operations

Different audiences, different densities, different rhythms, all expected to read as one product.

01

Create stronger visual foundations

Establish the typography, colour and spacing decisions everything else inherits.

02

Turn good decisions into reusable systems

Encode a decision once as a component, rather than re-solving it per screen.

03

Make quality scalable across teams

Shared principles, critique and clear examples so quality doesn't depend on one person.

09 — Craft

Raising the UI bar

I wanted to move beyond polishing individual screens and establish a clearer, more consistent visual language that the team could reuse.

01

Visual foundations

  • Typography
  • Colour
  • Spacing
  • Hierarchy
  • Iconography
02

Interaction quality

  • States
  • Feedback
  • Transitions
  • Component behaviour
03

Component quality

  • Reusable patterns
  • Clear variants
  • Consistent behaviour
  • Scalable structure
04

Shared standards

  • Design critique
  • Clear principles
  • Reusable examples
  • Design–engineering alignment
Zapp order tracking screen — status headline, progress tracker, delivery details and order summary
Order tracking: the shared card, type and spacing decisions in one screen.
  1. HierarchyThe status headline sits at the top of the card and carries the most typographic weight. It answers the question before anything else is read.
  2. TypographyA tight set of sizes and weights separates status, supporting detail and metadata without introducing new styles per screen.
  3. SpacingConsistent rhythm between grouped blocks (status, membership, delivery, summary) so each unit is scannable on its own.
  4. ComponentsCards, list rows, badges and the progress tracker are shared components rather than screen-specific layouts.
  5. StatesThe same layout carries every stage of the journey, so the screen changes meaning without changing shape.

10 — Brand

From brand to product

Translating the refreshed Zapp brand into a coherent product language.

Zapp app icon on the iOS dock — previous light mark beside the refreshed dark mark
The app icon on the dock: the previous mark beside the refreshed one.
Zapp branded delivery bag with groceries
The same wordmark carried into the physical experience.
Zapp web app on a laptop — the same brand carried into the web experience
And carried into the web experience.

11 — Operational design

Designing beyond the consumer experience.

Zapp operational tooling in use on the store floor
  1. Complex operational workflowsInbound, allocation, picking, packing and rider hand-off, each with its own density and pace.
  2. Designing for speed and clarityBuilt for people who can't stop to puzzle over an interface mid-shift.
  3. Field research informing product decisionsStore visits and shadowing shaped the tooling more than any assumption made at a desk.

12 — Additional work

Additional workSupporting brand and campaign work across the same visual language.

Zapp taxi livery design — every panel of the wrap
London campaign: full taxi livery.
Zapp-wrapped London cab on Oxford Street at night
In context, central London.
Zapp-wrapped London cab — full-side wrap
Out of home: the full-side wrap.
Zapp brand campaign visual — fresh, fast, 24/7
Brand: the promise, stated simply.

Current engagement. Zapp is my current employer, so this page covers only publicly visible work and describes the craft rather than internal detail. Deeper product, design-system and performance specifics are available on request, under a confidentiality agreement.