Telecom · O2 UK (Telefónica) · one case, one stealable principle

At four million users, a correct system still has to earn the tap.

Two O2 UK products, every screen designed with one co-designer and coded by me, at a scale where rounding errors have populations. The billing logic was always right; the retention story lived or died on whether a bill screen and an offer card gave four million people a reason to act. MyO2 and Priority Moments — the receipts are public on this one.

4M+MyO2 users served
2.6MPriority sign-ups · year one
5★App Store rating · UK’s largest loyalty app of its kind
Role
Designer + Front-end
Client
O2 UK (Telefónica) · via Equal Experts
Scale
4M+ users
Sign-ups
2.6M · year one
Status
Shipped · public
Owned
The front-end code for every screen — all of it mine.
Shared
The design — every screen, with one co-designer · delivery within the Equal Experts team.
Not mine
The programme’s launch marketing and its public launch numbers — O2’s, and reported as theirs.
The principle this case proves

The trust isn’t in the logic underneath. It’s in whether the surface gives someone a reason to act.

This case is the screens — and the front-end I wrote for every one of them. So read it the way it was built: as decisions made on the actual interface.

Designer and front-end · delivered through Equal Experts

The stakes: 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.

The MyO2 work was a replatforming, not a fresh start: we took a legacy system and made it responsive — one build serving iOS, Android, Windows Phone, and the desktop web. And because Telefónica had millions of active subscribers living on that legacy system, the transition was deliberately cautious; you don’t switch a population’s billing screen overnight. The work also ran inside Telefónica’s own machine — close collaboration with their branding, marketing, and copywriting teams, so every screen shipped speaking O2's voice, not a contractor’s.

Priority Moments is the other side of the same wallet — O2's loyalty programme, launched in July 2011 behind a £6m national campaign. Offers from Odeon, M&S and Caffè Nero, matched to a customer by interest, behaviour and location; 2.6 million registrations, a 5-star App Store rating, the UK’s largest loyalty programme of its kind. I joined in 2013, through Equal Experts, and designed and built the reward and offer screens 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.

The test: same designer, same stack, two opposite jobs — only the surface differs.

MYO2 — A REPLATFORMING, NOT A FRESH START One legacy system. One responsive build. Every pocket it had to fit. BEFORE The legacy system millions of subscribers living on it One responsive build the same code, every screen size — co-designed; front-end all mine rebuilt, cautiously iOS Android Windows Phone Desktop web the same code, four surfaces Moved cautiously — you don’t switch a population’s billing screen overnight — in step with Telefónica’s branding, marketing and copywriting teams, so every screen shipped speaking O2’s voice.
A replatforming, not a fresh start — one build, four surfaces

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 correct system still goes 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.

The mechanism: the task is the screen — one number to check, one offer to use.

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 starts with where you’re standing. The app read your location and ranked offers by nearness — never a catalogue to dig through, but the high street you were already walking down. One offer, one reason it’s relevant, one action. Tap Use offer and the screen flips in place to the code you show at the till — no coupon wallet, no navigation. Location, to an offer worth crossing the street for, to the code at the counter: that loop turned browsing into redeeming, and redeeming is retention — every offer used is another reason not to leave the network.

Plate 05 · MyO2 + Priority — reconstruction · originals not retained; redrawn from memory, figures synthetic The screens this case is about, redrawn at the fidelity they shipped: an exact bill, honest meters, and a reward that redeems where it lands.

Try both — switch the MyO2 tabs, then use the offer:

Era-honest recreation — rebuilt in HTML/CSS for illustration · originals not retained
MyO2

2.1 GB

data left · renews in 9 days

Data
Mins
Texts

£21.50

due 28 March

Paid · receipt sent — no call to the contact centre

MyO2 · the account, self-served

Priority

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

Keyboard-friendly · nothing you click here leaves the page

I worked both sides of every one of these surfaces — the drawing and the DOM. Nothing was lost between a design file and an engineer who never saw the intent behind it; the screen a customer tapped ran in the code I wrote.

What it cost: I can’t hand you the original screens.

So the claim is narrow on purpose: the launch-era figures are O2's; what’s mine is exact. Every screen on both products designed with one co-designer — and every line of the front-end that shipped them written by me.

The artifact: every self-service task that lands here is a call that never happens.

MyO2 — the self-service app four million people used to run their account without dialing anyone: recent charges, the bill, allowances, data left. Every self-service task that lands here is a contact-centre call that never happens.

Three MyO2 self-service app screens: the account home with recent charges and bills, the minutes allowance breakdown, and the data allowance view
MyO2, the 4M-user account area — a bill that answers its own next question is a call that never reaches the call centre

And Priority Moments, exactly as it shipped — these are frames from O2's own launch film. The left frame is the geolocated list the narration above describes: Toni&Guy at 15 metres, WHSmith at 32, Harvey Nichols at 120. The right frame is the tap that follows — the offer flipped to the code you show at the till.

Frame from O2's 2011 launch film: a hand holds a phone on a high street showing the Priority Moments offers list — Toni&Guy 15 metres away, WHSmith 32 metres, Harvey Nichols 120 metres, Odeon below Frame from O2's 2011 launch film: the Toni&Guy offer opened in Priority Moments, showing 'Show this code to redeem' with the code TNG2O2
O2 Priority Moments · frames from O2's official launch film, 2011 · youtube.com/watch?v=_9CmmmIGfZo · retrieved 6 Aug 2026

Falsifiable evidence — four million people, publicly reported.

Public outcomes — O2 / Equal Experts

MyO2 · 2014
O2 UK self-service app · went on to serve 4M+ users · legacy system made responsive — iOS, Android, Windows Phone, web
Priority Moments · 2013
2.6M registrations in year one · launched July 2011 behind a £6m national campaign
Loyalty traction
2.5M+ active users · only loyalty programme with a 5-star App Store rating
Named brands
Odeon · M&S · Caffè Nero — high-street rewards via app + mobile web
My role
Designed every screen with a co-designer · coded every screen myself · mobile web · on contract through Equal Experts

Where this wouldn’t transfer

The launch figures are O2’s public numbers, not my attribution — I joined the programme in 2013. What’s mine is exact: every screen on both products co-designed, and every one hand-coded by me. Consumer scale from 2013 doesn’t transfer to enterprise AI on its own; the two-opposite-jobs-one-stack lesson does.

Where the principle breaks.

Earning the tap matters where the user chooses whether to engage — a bill they could ignore, an offer they could skip. In tools of obligation (a compliance form, an internal admin panel) the tap is captive, and polishing the reason-to-act buys less than fixing the workflow underneath. And surface persuasion divorced from correct logic is dark-pattern territory: this case worked because the numbers under the screens were already true. Charm without correctness isn’t design, it’s marketing with a UI.

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 minutes (opens in a new tab)

I write about this in my newsletter ↗ (opens in a new tab)

No model in the loop, just design and code shipped at consumer scale. Next: the moment a model entered the picture — traders who out-guessed a scoreboard that was already right, and the rule that came out of watching them lose to it.