myPub app home screen on a phone, with calls in progress and the nearest pubs
← All projects

myPub

Wetherspoon checks every pub through audits and calls. As Lead Product Designer I designed myPub, the phone app and web console that replace the third-party system those audits ran on.

Client
JD Wetherspoon, through Filter
Year
2024 to 2026
Status
In pilot

The situation

Seven roles, one audit, and nobody could change a question

Audits ran in MarketForce, a third-party app. Head office couldn't change a single question in it, and everything around it was done by hand.

The brief was one line: a front-end app and back-end web tools to manage Wetherspoon's audits in-house.

STEP 01

Audit in MarketForce

Callers answer questions set inside a third-party app.

Head office can't change a question
STEP 02

Results stay in the vendor system

Reporting is limited to what MarketForce offers.

No filtering by failure
STEP 03

Finance pulls scores with SQL

Score, visit and bonus reports are built by hand.

Manual every month
STEP 04

Quotas tracked in a spreadsheet

Reporting checks guest calls one by one.

The real record lives in a file
STEP 05

Pub manager prints the report

Results are kept in paper folders for the next visit.

Nothing joined up

Discovery

Sessions with five parts of the business

I ran sessions with Audit, Property Maintenance, Reporting, Finance and the Area Managers. These are the things they said that changed the design.

Property maintenance

Only failures matter. The question is which pubs have failing fire doors, not which areas passed.

LED TO

Reporting built around failures, with a filter for any question that scores under its threshold.

Auditor

A full audit takes about three hours, and the signal drops in cellars and kitchens.

LED TO

An app that works offline, saves every answer as it is given and confirms when head office has the call.

Head of compliance

Changing a single question means waiting on the vendor's roadmap.

LED TO

A questionnaire builder head office runs itself, with versions and an approval step.

Pub manager

I want to go through the report with the caller, photos included, before it is sent.

LED TO

A review step where the caller and pub manager check every answer and photo before submitting.

Finance

Pub bonuses are paid from these scores, and they go into the bonus system by hand.

LED TO

CSV export in the first release, so the bonus process kept running until it could be automated.

Personas

Seven roles, very different jobs

The proposal named six user groups. The persona work found seven, because Finance and Reporting want different things from the same data.

The pub manager is the only one being audited. The names are made up.

Claire
Head of compliance

Owns the questionnaires, the permission levels and every report amendment.

DeskApproverWorks with Finance
Dev
Area manager

Looks after 6 to 15 pubs and runs a Blue Bag visit at each one every week.

FieldMobileWants own checks
Priya
Auditor

Covers 17 pubs. A full compliance audit takes her about three hours.

FieldOfflinePhotos per question
Sam
Property maintenance

One of 12 managers with around 70 pubs each. Only interested in what failed.

FieldNo scoresReports on failures
Hannah
Finance

Builds score and pub bonus reports by hand, with SQL.

DeskCSV exportPub bonus
Tom
Reporting

Tracks every caller's quota in one large spreadsheet.

DeskFiltersTrends
Gareth
Pub manager

Is audited rather than auditing. Wants his results without using the app.

AuditedRead onlyLater phase

Scope

Cutting it down to launch

The first proposal covered everything. In 2025 we cut it to what replaces MarketForce for internal callers, so the project could start sooner.

First release11
Replace MarketForce for internal callers
  • Role-based questionnaires
  • Works offline
  • Several photos per question
  • Review with the pub manager before submitting
  • Previous reports before a repeat visit
  • Food specs beside food questions
  • Questionnaire builder with scores and weights
  • Question reuse across groups
  • Who receives which report
  • Reports filtered by venue, caller, date and failure
  • CSV export
Phase 26
Automate what people still do by hand
  • Compliance calendar
  • Call quotas and automated matrices
  • Mystery shopper import and export
  • Role-based dashboards
  • Personal home screen with quotas
  • Scores straight into the pub bonus system
Later3
Wider reach
  • Pub manager's own view
  • Franchise use in the UK and abroad
  • Automation and AI on top of the data
myPub compliance calendar with fiscal periods, bank holidays and events
The compliance calendar, one of the phase 2 features, designed in Figma.

Flows

Four flows, each tied to a person

Each one follows a persona through one task. All four ran as working prototypes in Claude, and were tested against the personas, before any Figma.

Priya
Auditor
Flow1

Runs a food safety audit

  1. Picks the nearest pub from the list
  2. Confirms the questionnaire and her arrival time
  3. Answers by category, adding photos and checking each dish against its spec
  4. Goes through every answer with the pub manager
  5. Submits, and the score locks
CallsVenueIn callReviewSubmitted
Claire
Head of compliance
Flow2

Changes a question

  1. Opens the live questionnaire
  2. Starts a new version based on it
  3. Pulls a question from the bank and sets its weight
  4. Adds a follow-up that only appears on a No
  5. Previews it, then sends it for approval
QuestionnairesBuilderQuestion bankPreview
Sam
Property maintenance
Flow3

Finds every failing fire door

  1. Opens reports in the web console
  2. Filters by the fire door question and failures only
  3. Gets the list of pubs that failed
  4. Opens the last report for each one
  5. Exports the list as a CSV
ReportsFiltersReport viewerExport
Priya
Auditor
Flow4

Fixes a mistake after submitting

  1. Spots an error on a submitted call
  2. Requests an edit from the result screen
  3. Head office reviews the request
  4. The change is approved and logged
  5. The original score stays on record
ResultEdit requestApprovalAudit log
myPub app pub finder on a phone, with nearby venues on a map

How I worked

Research in Gemini, prototypes in Claude, Figma last

Research starts in Gemini, with deep research and then voice calls where it plays an auditor or a pub manager. I do this before stakeholder sessions to sharpen my questions, and after them to test features against what people said.

Then every flow runs as a working prototype in Claude, from offline sync to the questionnaire builder.

Figma comes last, built from the design system once the flow works.

myPub app, venue screen before starting a call
myPub app, answering questions during a call
myPub app, reviewing answers with the pub manager before submitting

Screens from the Claude prototype, built to the myPub design system.

Design system

One design system for both products

The app and the console share one set of tokens and components. One chip component carries every status in both.

Written guidelines for AI tools keep the Claude prototype on the same rules as Figma.

Status chips
SubmittedGreen, complete
In progressSaved call, not finished
PendingAmber, partial
Waiting to syncStored on the phone
EscalatedRed, needs action
Shared resultSent to someone

Every status in both products goes through one chip component. A dashed border always means provisional.

Colour
Primaryrgb(21, 101, 192)Main actions, active navigation, progress
Inkrgb(33, 33, 33)Primary text
Mutedrgb(97, 97, 97)Timestamps, captions, helper text
Surfacergb(245, 245, 245)Page background
Borderrgb(224, 224, 224)Cards, sheets and dividers
Destructivergb(212, 24, 61)Red status, urgent, closed venues
Type, Inter
Screen title · 16px · 600Kitchen & Food Safety Audit
Body · 14px · 400Were temperature records up to date?
Meta · 12px · 500JDW · 0168 · 10:49
myPub console in preview mode, showing a 91.2% score after penalties and a green status chip
The system in the final console: an author previews a questionnaire and sees the score, penalties and status chip as a caller would.

Decision 01

Head office writes its own questions, within limits

Head office wanted full control. Too much freedom gives you questionnaires that contradict themselves, or nest so deep a caller gets lost.

Questions live in one shared bank, with weights set per questionnaire. Follow-ups stop at three levels. Every questionnaire goes from Draft to Approval to Active, with a preview first.

Questionnaire builder in the Claude prototype
Claude prototype
Editing a draft questionnaire in the final myPub console design, with Submit for Approval
Final design in Figma, built from the design system
Sub-question builder in the myPub console, with the rule that follow-ups go at most three levels deep
The sub-question builder. A follow-up can only trigger from its parent's answer, three levels deep at most.

Decision 02

A submitted score never changes

Finance wanted scores to recalculate when thresholds changed, because bonuses are paid from them. I argued that a pub that failed in March failed in March. That argument went my way.

Scores lock on submit. Edits go through head office, with a record of who changed what.

myPub app, call submitted screen with the final score

Decision 03

Built for a cellar with no signal

An audit can take three hours, often with no signal. The app works offline, saves every answer as it's given and shows when head office has the call.

Before submitting, the caller goes through every answer and photo with the pub manager.

myPub app, My Reports with a call waiting to sync
myPub web console, questionnaire builder with categories and questions
Decision 01. The questionnaire builder in the Claude prototype.
myPub app, call submitted screen with the final score
Decision 02. A submitted call, with its score locked.
myPub app, My Reports with a call waiting to sync
Decision 03. My Reports, with a call waiting to sync.

Timeline

Discovery to pilot in about two years

Autumn 2024
Discovery

Sessions I ran with Audit, Property Maintenance, Reporting, Finance and Area Managers.

Nov 2024
Full proposal

Personas, scope and the first concepts for the app and console.

Jul 2025
Smaller first release

Scope cut back so the project could launch sooner.

Oct 2025
Kick-off

Roles, planning and the phased delivery agreed with Wetherspoon.

Nov 2025
Scope signed off

First release and phase 2 split confirmed.

2026
Prototype and design

Every flow prototyped in Claude, then built in Figma from the design system.

Oct 2026
Pilot

Callers running real audits ahead of the full rollout.

Learnings

What I'd do differently

Bring the pub manager in sooner. Their own view moved to a later phase, so the one role being audited was the one that waited. Next time I'd have a pub manager in discovery and testing from the start.

Put the smallest version in the first proposal. The project only started once we cut it down.

Measure before the pilot: how long an audit takes today, and how long a question change waits.

Use AI role-play to sharpen the questions. The personas still come from real people.

Where it is now

In pilot, ahead of the rollout

Callers are running real audits on it before it replaces MarketForce across the estate. Head office can now write, preview and publish a new question the same day.

myPub app notifications screen on a phone