Personalization Platform for an online grocery app

Building the engine behind Picnic's personalisation

Picnic is an online supermarket delivering groceries to millions of customers across Europe. Unlike a physical store, it isn’t bound by a fixed layout. Every customer’s app experience can be different. Products surfaced, promotions shown, layouts applied, all tailored to how that person shops. The opportunity was enormous. The capability to act on it barely existed.

Role

2024 – ongoing

Sole product designer

End-to-end ownership of Product UX

Impact

Ramped up to 300+ experiences 1 year since launching the product.

+€0.40,- per delivery

Due to the peronalized content

The Problem

A powerful capability, locked away

Picnic had the vision early. A handful of proof-of-concept campaigns showed it worked. Personalized experiences drove real results. But every single one required developer support to build. The tooling was a patchwork of Excel sheets, Swagger endpoints, and Python scripts. There was no shared visibility into what was running, no way to trace decisions, and no path for marketers to act without filing a ticket first.

The question wasn’t whether personalization was worth building. It was how to build the foundation that would make it real.

Scatterd Tooling

Experiences were spread across disconnected tools with no single source of truth. It was nearly impossible to audit what was live or understand why decisions were made.

Tech dependency

Every new experience needed developer involvement. Marketers had the customer knowledge but no way to act on it independently.

Not Scalable

Proof-of-concept campaigns validated the idea, but the process couldn’t support the volume the business needed.

How might we make personalization accessible to non-technical teams, without losing the flexibility needed to serve dozens of different use cases across the business?

The Core Design Challenge

Finding the right abstraction

The hardest part wasn’t the interface. It was the model underneath it. Picnic’s backend represented personalization as a state machine. Customer IDs, transitions, events, states. Precise, but completely illegible to a marketer. The easy answer would have been a simple “if this, then that” flow. But the platform needed to support push notifications, in-app layouts, product discounts and more. A linear flow couldn’t hold all of that.

Finding the middle ground meant running sessions with marketers and analysts, mapping out real campaigns using rough mockups in FigJam. Too abstract and people got lost. Too prescriptive and edge cases fell through the cracks. What came out of those sessions was three building blocks: Transitions, Phases, Actions. Simple enough to learn in minutes. Flexible enough to build hundreds of experiences.

The Philosophy

Start Generic, Learn Fast

Rather than designing for known use cases upfront, the platform was built around a generic model that teams could apply to almost any campaign type. That meant accepting some early roughness in exchange for learning quickly across many different contexts. The three-block model held up across every use case that followed. Notifications, discounts, layout changes, lifecycle campaigns. No rebuilding needed.

Solution

The journey builder

The core of the platform. Users build personalized experiences by assembling triggers, audiences, phases, and actions into a visual journey. The interface needed to feel approachable to marketers while staying expressive enough for complex, multi-step experiences.

Actions: configuring experiences

Within each phase, users can attach actions. Sending a push notification, applying a discount to a product group, changing an in-app layout entirely. Each action type has its own configuration UI, but they all live within the same building block model, keeping the experience consistent across teams.

Dashboard: visibility across the business

One of the hardest problems with the old setup was traceability. The dashboard gives data analysts, marketers, and business managers a shared view of what experiences are running, for whom, and what their current status is. No more scattered tools, no more untraceable decisions.

The platform launched and the business ran with it. Over 300 experiences built in the first year, by the teams who knew customers best. What started as a vision is now a core part of how Picnic operates.

*Screens have been redesigned to protect confidential information.

Trust me, I’m a designer © Bryan Yip