The PPCUK public site beside the operations dashboard
Pain Psychology Centre UK
Brand · Site · Platform

A practice, built end to end.

My friend Vanessa is opening a pain coaching practice in London. I built the whole thing she runs it on: the identity, the public site, and the operations platform behind it. Then I kept building, because a practice is never finished.

Role
Design, build, and run
Discipline
Identity · Web · Product · Ops
Shipped
Site June 2026 · Platform July 2026 · Opens September 2026
Stack
Next.js · React · Firebase (London) · Stripe · DocuSeal

A friend, a book, and a blank page

Vanessa Blackstone wrote The Pain Reprocessing Therapy Workbook and led the Pain Psychology Center in Los Angeles. In 2026 she decided to open her own practice in London. She had the clinical side cold. What she didn’t have was any of the rest: a name people could see, a website, and some way for eight people to run a practice that wasn’t a pile of Google Docs, spreadsheets, and WhatsApp threads.

That’s the whole brief. It isn’t a website project or an app project. It’s a practice, and a practice needs a front door and a desk behind it. The desk is the hero of this story, so that’s where we start.

One place, instead of everywhere

Everything a client touches, from the first enquiry to the coach’s payout, lives in one system. It replaced the scattered sheets, the docs, the email threads, and the WhatsApp pins before any of them had a chance to pile up. The organising idea is the client’s journey: twelve stages in four phases, and every page is a window onto part of it.

Roles scope the view. Coaches see only their own clients and their own week. The intake desk sees everything. Vanessa runs it from a tablet, so it had to work at that size first. It starts on the Home page: a calm noticeboard, today at a glance, and search from anywhere.

The PPCUK dashboard home: the next discovery call, today’s work, and the week’s calendar
Home. The next call comes first, then the week
The same dashboard seen by a coach: only their own clients and calendar
A coach’s view. Their clients, their week, nothing else
The clients page: the twelve-stage pipeline in earth-tone colour with client rows beneath
Clients. Twelve stages, four phases, one colour system

The enquiry arrives

When someone writes through the website, the message doesn’t go to an inbox somebody forgets to check. It lands on the platform as an enquiry, matched against existing files, and it emails the desk at the same time. Nothing waits to be discovered. One click turns it into a pre-intake file with three contact attempts ready to log.

The inbox: website enquiries triaged by type, each with a claim button
Inbox. Every enquiry becomes a file in one click
The pre-intake list: new callers with their contact attempts and the next step
Pre-intake. Three attempts, then the call

The desk takes the call

This is the intake coordinator’s cockpit. Numbered steps: who is calling, what they need, their preferences, who fits. A brand-new caller gets a file started mid-call. Provider cards show openings, load, and fit in referral-queue order, so the referral is one click and any concern flags quietly to leadership.

The client books the discovery call themselves from a page the platform mints for them, off the coordinator’s real diary. The confirmation carries a Google Meet link. Both sides get the email, and the event lands on both calendars.

The intake desk: the call sheet with numbered steps and provider cards ranked by fit
Intake desk. The call sheet, step by step
A client file open on the intake call tab
The call. Logged on the file as it happens
The client-facing booking page: a September calendar and morning time slots
Booking. The client picks a time from the real diary
The booking-link email: a short note and one button to choose a time
The email. One button, no forms

One file per client

Every client has one file. The coloured band across the top is their journey, matching how the practice actually works, and the Journey tab is the whole history, written automatically as things happen. Every tab and filter lives in the URL, so a link to a file is a link to that exact view. Files open in place. Nothing moves you off the page while someone is on the phone.

A client file home: the journey band, next steps, and the people on the file
The file. The journey band on every page
The journey tab: every stage change and touchpoint, dated
Journey. The whole history, written for you
The sessions tab: booked, delivered, and upcoming sessions with their outcomes
Sessions. Booked, delivered, outcome recorded
The match tab: provider fit and the referral hand-off
Match. Who fits, and the hand-off

The team side

Providers keep their own profile, availability, and preferences current through a setup wizard, and their hours write real recurring events to the shared calendar. The desk sees a live referral queue ranked by who is ready for the next client, plus launch readiness per person: agreement, profile, insurance, payout details.

The team page: eight providers with readiness and the referral queue
Team. Who is ready for the next client
A provider’s availability editor: session hours by day
Hours. Set once, and the calendar fills itself

Papers sign themselves

Agreements go out for e-signature from inside the file, on the lawyer’s final wording, branded, from the practice’s own address. The signed PDFs file themselves into the record. Sign, pay, book is enforced in that order on the server, not by a checklist, so a session can’t be booked before the paperwork exists.

The agreements page: the signing set, each template editable on the platform
Agreements. The signing set, editable in place
The payment set-up email: the package, the price, and one button to pay
Pay. One branded email, Stripe’s page, no card numbers here

The money joins in

Stripe is the truth about payments. Wise is the truth about the bank. The platform mirrors both and never holds money. Sessions are £175, packages of eight are £1,400, packages count themselves down, reminders chase politely, and each delivered session releases the provider’s share into a payout run that builds itself. Coaches never touch money. Their earnings view shows their side and nothing else.

The finance page: the billing period at a glance, billed, paid, and owed to providers
Finance. Billed, paid, owed, one screen
A coach’s earnings view: sessions delivered and the share released
A coach’s view. Their sessions, their share

The practice’s memory

Policies live in the Knowledge hub. Operations holds the road to launch and a plain-language security brief: where data lives, who sees what, and what the platform deliberately never keeps. Vanessa’s one hard line was that this must never become a clinical record system, so there are no session notes anywhere, client data is scoped by role in the database rules, and everything runs in Google’s London region.

A practice changes every week, so the platform ships every week. There is a What’s new page with every release, a platform log where feedback goes in with its source, and a help book of short recipes. The version number is in the corner of every screen.

The Knowledge hub: policies, guides, and provider resources
Knowledge. The policies, where people will read them
The operations page: how it’s wired, with every system, its region, and its renewal date
Operations. How it’s wired, written for the people who run it
The What’s new page: a dated list of shipped releases
What’s new. Every release, in plain language
The help page: short recipes for everyday tasks
Help. Recipes, not a manual

The front door, and the identity behind both

The public site is one responsive codebase, static and fast, written under a vocabulary Vanessa and I set on day one: clients, not patients; providers, not therapists; sessions and support, not treatment. Its contact form is the first screen of the platform, which is why the two had to be one design.

People arrive at a pain practice tired and sceptical, so the brand does the opposite of a clinic. The mark is a PPC monogram with wildflowers growing through the letters, in a deep teal, with an earth-tone palette I first drew for the dashboard’s twelve-stage pipeline and then pushed out to the site so both surfaces wear the same weather. Fraunces for headings, DM Sans for everything else, cream ground, film grain.

The PPCUK homepage: meadow photography, a cream ground, and a serif headline
The homepage. The palette the dashboard runs on
The team page: eight providers with portraits and roles
The team page. Eight people on day one
The brand guide page: the floral monogram, the palette, and type samples
The brand guide. Published as a page on the site

What it proves

This is the clearest case I have for what I do now. I designed the identity, wrote the copy, built the site, built the platform, wired the email and the domains and the payments, and I still run all of it. One person, one taste, from the mark on the door to the rules in the database. If you are building a small operation that needs to feel like a real product on day one, this is what that looks like.

12
Pipeline stages, in four phases
8
Providers onboarded on day one
0
Session notes stored, by design

Identity. The floral monogram, the earth-tone palette, and the type system, published as a brand guide.

Public site. One responsive codebase, static and fast, written under the practice’s own vocabulary.

Operations platform. Inbox to outcome in twelve stages, with every view a link.

Sign, pay, book. DocuSeal, Stripe, and Meet, enforced in order on the server.

Money mirrored. Stripe for payments, Wise for the bank, the platform never holds a penny.

Email and infrastructure. Workspace, domains, DNS, and branded mail from plain text.

Next · Design × AI · Independent practice
Joshua Wells Studio

So what are you working on?

Tell me what you're building and where it's stuck. I'll tell you honestly whether I'm the right person for it.