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.
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.
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.



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.


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.




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.




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.


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.


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.


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 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.



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.
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.
Tell me what you're building and where it's stuck. I'll tell you honestly whether I'm the right person for it.