- Role
- Designer + Front-end
- Client
- O2 UK (Telefónica) · via Equal Experts
- Scale
- 4M+ users
- Sign-ups
- 2.6M · year one
- Status
- Shipped · public
This case is the screens. I drew every one of them, then wrote the front-end that shipped them — two O2 UK products on mobile web, at a scale where rounding errors have populations. So read it the way it was built: as decisions made on the actual interface.
Designer and front-end · delivered through Equal Experts
Two screens carried O2's whole retention story.
MyO2 (2014) is O2 UK's self-service app — a customer runs the entire account from it, data and usage, the bill, a tariff change, an upgrade, without dialing anyone. The math underneath it is blunt: every self-service task that lands is a contact-centre call that never happens.
O2 Priority Moments (Priority Moments, 2013) is the other side of the same wallet — O2's loyalty programme. Rewards and offers from high-street brands — Odeon, M&S, Caffè Nero — surfaced through the app and mobile web, matched to a customer by interest, behaviour, and location. O2 had launched it in July 2011 behind a £6m national campaign; by the time it reported 2.6 million registrations and a 5-star App Store rating, it was the UK's largest loyalty programme of its kind. I joined that programme in 2013, through Equal Experts, and designed and built the reward and offer screens — the same surfaces carrying that scale.
Why it mattered to O2: in a market where customers switch carriers over price, these two screens carried the retention story. MyO2 took cost out — every account task a customer self-serves is a contact-centre call O2 never pays for. Priority Moments put a reason to stay in — a weekly reward that makes the brand feel like it gives back, not just bills. One product lowered the cost of keeping a customer; the other raised the cost of leaving. Both ran under one of the UK's biggest consumer brands, where small things stop being small: a tap target, a spinner, a billing figure that has to be exact — each one lands on a stadium at once.
Same designer, same stack — two opposite jobs.
The hard part wasn't drawing pretty screens. It was that the two products demanded opposite behaviour from the same person on the same stack. MyO2 is a utility — get in, do the task, get out; trust comes from a billing figure being exact and a tariff change actually sticking. Priority Moments is a habit — the screen has to make a coffee or a cinema ticket land as a small, earned win at the right moment, without drowning it in fine print, or people stop opening it.
A model or a system can be technically correct and still go unused if the screen doesn't earn the tap. On a utility, get the trust wrong and the customer phones the contact centre anyway — the cost you were trying to remove walks straight back in. On a loyalty surface, get the moment wrong and the reward sits unredeemed — the reason-to-stay you built never fires. So the real work lived on the screens: making the right thing feel obvious enough to act on, on the device people actually carry.
Read it on the screens themselves.
Here are the two surfaces, era-honest, rebuilt so you can touch the decisions instead of reading about them. The MyO2 screen leads with the one number a customer opens the app to check — data left, days to renewal — then the bill, with paying it one tap away. No dashboard, no menu maze: the task is the screen.
The Priority card does the opposite of dense. One offer, the reason it's relevant — this week, near you — and a single action. The pivotal decision lived right here: tap Use offer and the screen doesn't navigate away to a coupon wallet, it flips in place to the code you show at the till. Keeping redemption on the same surface is what turns a nice-looking offer into a redeemed one — the difference between a loyalty programme people browse and one they use.
Try both — switch the MyO2 tabs, then use the offer:
2.1 GB
data left · renews in 9 days
£21.50
due 28 March
MyO2 · the account, self-served
This week · near you
2-for-1 cinema tickets — Sky Screen
Tonight · 0.4 mi away
Show this code at the till
PRI-4F7K
Priority · a reason to open it
I owned both sides of every one of these surfaces — I drew the screen, then wrote the front-end that shipped it. Nothing was lost between a design file and an engineer who never saw the intent behind it; the screen a customer tapped was the screen I drew, in the code I wrote.
What it cost: I can't hand you the original screens.
Be straight about the limits of this page. The originals aren't retained — the two surfaces above are era-honest recreations, rebuilt in HTML and CSS for illustration, with data that's invented, not client data. And the headline numbers — 4M+ users, 2.6M registrations, the 5-star rating, the £6m launch campaign — are public figures reported by O2 and Equal Experts, not personal KPIs I'm claiming.
There was a cost to working this way, too. Owning both the drawing and the code on a national-scale consumer product means there's no one to blame when a billing figure renders wrong or a tap target is two pixels short — it's your screen on a stadium of phones at once. That discipline is the price of doing both jobs.
So the claim is narrow on purpose: the launch-era figures are O2's; the screens I owned are mine. Every screen on both products, designed and built by me.
The receipt.
Public outcomes — O2 / Equal Experts
The principle it left me with.
A correct system still has to earn the tap. MyO2 could compute a perfect bill and Priority Moments could match a perfect offer, and neither moved the business until the screen made the right thing obvious enough to act on — pay the bill in one tap, redeem the code without leaving the card. The trust isn't in the logic underneath; it's in whether the surface gives someone a reason to act on it.
That's the same check I run on every AI product now. The model being right is table stakes. Whether anyone trusts the screen enough to act on what it says — that's the part you actually have to design, and the part that decides whether the work was worth doing.
This is the kind of problem I solve full-time.
If your product has a gap between a right answer and an acted-on one, let's talk — 30 minutes, no pitch.
Book 30 minutesI write about this on The Trust Layer ↗