Offdesk London Book a call

Built

One system, taken apart.

Pages like this usually show screenshots and adjectives. This one opens the hood on one real system — the actual messages it sends, the actual screen the owner looks at, and numbers you could check yourself. It hasn't run for a client yet, and this page says so plainly. Everything else on it is real.

The system

A front desk that refills the schedule

chair-fill-os · built and tested · not yet at a client

Built for med spas, dentists and aesthetic clinics. It texts whoever is overdue, quoted-but-never-booked, or holding unused sessions; rescues missed calls by text in seconds; sends reminders people answer YES or NO to; refills cancellations from the waitlist; routes happy reviews to Google and unhappy ones to the owner — and shows the revenue it recovered on one screen.

Two things worth knowing before you scroll. Every message it can ever send is written down — the owner can read all of them and edit the ones that matter, and no AI writes a word. And the one thing it never does is book over the diary: a text-in booking sits as a request until the front desk presses Confirm.

The proof

Watch it bring one person back.

This is the demo clinic's own conversation — the exchange that put an 11:00 booking on its book. The first message is a template the owner can read and edit on the Sequences page; every reply after it is one of the system's fixed strings. The whole exchange took five messages and no staff time until the desk pressed Confirm.

chair-fill / messages — demo seed
luma aesthetics · demo clinic · tuesday morning
Hi Maya, it's Luma Aesthetics. It's been 7 weeks since your last HydraFacial — most people are due around now. Reply YES and we'll find you a time, or STOP to opt out.
Yes please
Great — which day suits you? (e.g. Tuesday afternoon)
Tuesday 11
Perfect — we've asked the team to book you in for Tuesday at 11:00. You'll get a confirmation shortly.
held as a request · confirmed by the desk — it never books over the diary
Booked — Tuesday 11:00 HydraFacial · $180 back on the book Sequence stopped — she replied

A replay of the real system's own templates, running on Luma Aesthetics — the fictional demo clinic it ships with, seeded with fake patients. Maya is not a real person, and nothing on this page comes from a client's account. No client exists yet.

The screen

One screen that answers one question.

The dashboard is called Revenue recovered, and every number on it is computed from the appointments table alone — nothing is stored twice, nothing can drift. Behind it sits the screen the whole system exists for: Who is due. Here it is, rebuilt in your browser from the demo clinic's real numbers. Open each reason to see who's on the list and why.

chair-fill / who is due — luma aesthetics, demo seed
The phone line is not connected yet. Every message is written and logged, but nothing leaves this machine. — the demo's own warning bar, exactly as it appears
$6,530
Due right now — 15 people, 4 reasons
$5,340
Recovered all time — 14 visits it brought in
reactivation $3,180 · missed-call rescue $1,550 · waitlist backfill $610

The screen's own arithmetic: "15 people, worth about $653 if one in ten rebooks — $6,530 if they all do." The owner unticks anyone they'd rather not text, presses one button, and each person gets the messages for their reason — days apart, stopping the moment they reply.

on the list today 15 people · $6,530

quiet hours 20:00–08:30 · never the same chase twice inside 60 days · every sequence stops the moment they reply · "worth" is the value of the service each person would rebook

This is the real system's demo seed, rebuilt in your browser — a deterministic run from Sep 1, 2026, exact down to the dollar, not a client's account. One honest caveat: Luma has 40 patients on file; a real clinic has 1,500 or more. You're looking at a fortieth-scale picture of the same screen.

The alternative

What the manual version looks like.

None of this work is new. Every good front desk knows it should be done — it's the doing that never survives a busy Tuesday. Here is the same job, by hand.

  1. Export last visits from the booking system and work out who's past their recall window — service by service, because a facial and a filler run on different clocks.
  2. Cross-check the quote book and the package ledger: who said "let me think," who's sitting on paid sessions that expire soon.
  3. Text each one from the desk phone — between answering the real phone, greeting walk-ins, and taking payments.
  4. Remember who replied. Chase the rest a few days later, without double-texting anyone, and never after 8pm.
  5. Do all of it again next week, from scratch, whether or not anyone has time.

Done properly, it's hours of desk time every single week. What actually happens in most practices is simpler: it doesn't get done, and the list quietly grows. The system runs the same scan every day, holds every rule about quiet hours and double-texting, and never has a busy Tuesday.

One job — 48 clients overdue for a repeat visit

One overdue-client list, worked two ways. Demo figures for illustration — not a client’s account.

By hand: 3 of 48 overdue clients get called, one at a time, and the other 45 are never reached. Running itself: all 48 are messaged overnight, 9 reply and 5 book a consult.

Build facts

Numbers you can check, not results we can't claim.

No client numbers appear on this page, because no client is running this system yet. These are facts about the build itself — countable, and counted on Sep 1, 2026.

224 automated checks, all passing

Five test suites — the database migrations, the rules, the message engine, the front desk over real HTTP, and security. The final line of the run: "No request produced an unhandled error."

36 message strings — every word it can say

Nine sequence messages the owner reads and edits on one page, plus 27 fixed conversational replies. No AI writes its messages — no model is called anywhere in the system.

5,690 lines of standard-library Python

Zero dependencies to install, break, or pay for. One SQLite database. It runs on the clinic's own machine, and a non-technical owner can operate it alone.

The shelf

This is one system from the shelf.

The same taking-apart could be done to the others. A desk that answers every lead in seconds is built and tested the same way, for real-estate teams. Agreements that sign themselves is live at a real business today. An assistant that answers and books and a portal for whoever sends you work round out the five you can watch run.

All five systems, each with a working demo

Fifteen minutes

Find out what your version of that screen would say.

Seven questions, one conservative number, no pitch. If the list sitting in your business isn't worth chasing, you'll know that in fifteen minutes too.