This project is under NDA. Enter the password to view.
Phoenix — Farfetch's predecessor communications system — ran on Google Sheets. No interface. No approval workflow. No cross-channel visibility. The translations team spent over 50 hours a week copy-pasting content from the translation platform (XTM) directly into spreadsheet cells.
In 2022, Farfetch built STORM to replace this — a proper CMS for email, push, and SMS campaigns. The MVP worked. But once the team started scaling it across markets, a new class of problems emerged: content couldn't be reused or localised without duplicating entire campaigns.
My role was to lead the UX for the next phase — turning STORM from a campaign creation tool into a composable content platform.
This wasn't a sprint to add features to an existing tool. The brief was to rethink the content layer of STORM entirely — so that CRM teams across EMEA, AMER, and APAC could stop duplicating work and start composing it.
I led the UX through a 4-day Design Sprint to define and validate the right solution before a single screen was built. Stakeholders: PM, Engineering Lead, CRM team. The sprint produced the design decisions that went directly into development.
Adding more templates to an inflexible system would compound the problem. Every new template added to Phoenix needed its own translation cycle — the duplication rate would keep climbing.
The right intervention was at the content layer: reusable tokens, pre-translated modules, and structured grouping. Not at the campaign layer.
The system had streamlined campaign creation — but duplication of campaigns for different markets continued to be time-consuming. Global teams in EMEA, AMER, and APAC were each running their own copy of the same content, updated manually, translated separately.
The sprint framework gave the team a shared language and prevented the usual "let's just build something" instinct. Each phase had a clear deliverable before moving forward.
Before ideating solutions, I mapped the current CRM workflow — end to end, across the full campaign production cycle. This revealed where the friction was real versus perceived.
"The user journey post-MVP revealed that localization and content reuse were the dominant pain points — not campaign creation itself."— Finding from the journey mapping session with PMs and CRM team
Three sessions with the CRM team to validate the journey map and surface the gap between what the system did and what they needed.
A 3-part workshop to go from problems to prioritised solutions. I facilitated all three sessions and synthesised the outputs into a voting matrix for the team.
● = votes received in workshop
| Goal | User need | Use case |
|---|---|---|
| Dynamic Tokens | Seamlessly insert dynamic content — user names, promo codes — that auto-updates at send time | Marketers insert {{USER_NAME}} or {{PROMO_DISCOUNT}} — system resolves at send |
| Static Tokens | Predefined, translated messages reusable across campaigns without retranslation | Create "Enjoy Black Friday here" token once — reuse in any campaign, across markets |
| Generic Modules | Universally applicable templates to standardise headers, footers, and shared blocks | Library of generic module templates customisable per campaign |
| Content Modules | Pre-translated, customisable promotional blocks reusable without modification | Create a promotional block once — adapt and reuse across campaigns with minimal adjustments |
| Template Management | Manage email templates, sequences, and campaigns from a centralised view | Add to sequence, manage sequences, view statistics, edit settings — without leaving the tool |
Campaign operators were duplicating entire campaigns just to reuse structure or copy — carrying over unneeded translations, inflating the duplication rate to 40%. There was no way to duplicate selectively.
A single modal with two modes — Basic and Full — letting users choose exactly how much to carry over. The campaign destination (same or new) is also configurable in the same step.
Identified opportunities that go beyond the scope of this sprint — each one a direct extension of the composability principle the four features established.