Case study

2026NextJSReact NativeOpenAIZendeskAI

Purpl: Ask Georgina

A support assistant for disabled shoppers that answers from Purpl's own help centre, reads its answers aloud, and hands over to a human when it should.

Purpl: Ask Georgina project screenshot

The Challenge

Purpl gives disabled people in the UK exclusive discounts from hundreds of retailers. Its support questions mostly circle the same ground: how do I join, why hasn't my verification gone through, why isn't this code working, can I get a refund. The answers are already in the help centre, but people still end up in a small team's Zendesk queue.

An AI assistant was the obvious answer, and also the risky one. Purpl's members are disabled people, some of whom find reading hard, and some of whom are writing in because something has already gone wrong. A bot that makes things up, buries them in a wall of text, or won't let them reach a person would be worse than no bot at all.

Our Approach

We built Ask Georgina (named after Purpl's founder, though the bot says plainly that it's an AI, not her) into the existing Next.js site and the React Native app. It sits in a launcher on most pages, has its own page at /support/chat, and stays out of the way where it would get in it: it's hidden on the payment step, so it never covers the Stripe form.

It runs on OpenAI's models through the Vercel AI SDK. The interesting decision was what we didn't build. There's no vector database. Purpl's help centre is a few dozen articles, so the model gets a contents list of the whole thing, refreshed hourly from Zendesk, and opens the articles it needs with a tool call. At that size you get exact citations and nothing to keep in sync. Every answer links the articles it actually read, and it isn't allowed to cite anything it didn't open.

It can also search live offers and brands, check whether a refund is likely to qualify, and see the member's account status. That last one let it answer "why hasn't my verification gone through?" properly. Getting it to be honest about brands took a few rounds: early versions happily implied they knew what a retailer sold, so the rules are now strict. Check the offers first, fall back to brands, and say so when the search comes up empty.

The rest of the work was making it safe for the people using it:

  • It escalates rather than bluffs. When someone's upset, asks for a person, or has an account-specific problem, it offers a Zendesk ticket with the conversation attached, and the team replies by email. It has to answer first and offer the ticket second, after testing showed it was jumping straight to the form.
  • Personal data never reaches the model. Emails, phone numbers, National Insurance numbers, card numbers and postcodes are stripped before anything is sent or logged. IP addresses are hashed with a key that rotates daily. Conversations are deleted after 90 days.
  • Accessibility from the start. Answers are short, in plain British English, as numbered steps, with no tables or emoji. Screen readers aren't made to read out a half-written answer. They're told when it's finished. Every answer can be read aloud in a calm British voice, and there's a live voice mode for people who'd rather talk than type.
  • It can't run up a bill. There's a daily message cap, per-person rate limits, a five-minute limit on voice calls, an off switch, and a cost recorded against every conversation. Purpl's admin has a dashboard showing all of it.

Before it went live we replayed twenty real, already-solved support tickets through it and marked every answer.

The Results

On those twenty replayed tickets, twelve answers were good, seven were OK and one was bad. The first version missed five of the seven cases where it should have escalated. After the prompt changes it missed none of nine.

Ask Georgina is live on the Purpl website and in the app, typed and spoken. It was built over about three weeks in September 2026. Purpl owns all of it, from the prompts to the code to the data, and runs it on its own accounts.

It's a deliberately small bit of AI. It does one job, for one audience, from one source of truth, and knows when to hand over. That's the kind we think is worth building.

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.