Case study

2024NextJSReactLaravelAI

Bupa Picture of Health

A global Paralympics campaign covered by every major UK broadcaster at launch — with AI checking every image before it went anywhere near Bupa's name.

The Challenge

Bupa wanted to run a global competition around the Paralympics: ask people everywhere to upload a photo of what health means to them. Lovely idea. Terrifying brief.

Because here's the thing about letting the public upload images next to a healthcare brand's logo: most of what arrives is heartfelt and brilliant, and a small percentage absolutely is not. One inappropriate image on a Bupa campaign page is a headline. So the real job wasn't the gallery — it was making sure nothing harmful ever got published, at global scale, around the clock, without a human moderator awake in every timezone.

Our Approach

We built the platform with Next.js on the front and Laravel behind it. The interesting bit was the moderation pipeline, designed in from the first wireframe alongside Bupa's own security team rather than bolted on at the end. Every entry, whether uploaded on the site or pulled in from an Instagram hashtag, went through a chain of background jobs:

  • Image classifiers scored the photo for nudity and offensive content, and for basic quality like sharpness and brightness.
  • The caption was checked for profanity in whatever language the entrant wrote it in.
  • GPT-4 Vision wrote a short description of the image to use as its alt-text, so the gallery worked with a screen reader. That mattered rather a lot on a Paralympics campaign.
  • The caption was machine-translated into ten languages, and batches went out to a human translator for six of them.

Then a person looked at it. Moderators saw each entry with its scores and the AI-written alt-text in an editable box, fixed anything the model got wrong, and approved or rejected it. Anything over the risk threshold went into a separate review queue.

The campaign was global, so the gallery shipped in ten languages. We prototyped the upload flow until it was simple enough that someone's gran could enter from her phone, because that was rather the point of the campaign.

Then we tested it by trying to break it. Uploading the wrong things, the weird things, the edge cases. AI moderation is probabilistic, so we tuned thresholds conservatively — we'd rather wrongly hold back a borderline image for review than wrongly publish one.

The Results

The campaign launched in June 2024 and was picked up by every major UK broadcaster and newspaper. Thousands of images from around the world, and the moderation pipeline did its job: nothing harmful made it through. Nobody noticed the infrastructure working properly — which, for this kind of project, is exactly the result you want.

Contact

Got a project like this?

We've built 53 of these and written up the lot. If yours rhymes with this one, tell us about it — Phil reads every message and replies within a working day.