Bringing patients back, without picking up a phone.
A small aesthetic clinic in Lisbon was losing a third of its repeat business to silence between visits. We built a recall system that turned that silence into automatic, personal-feeling re-engagement — and lifted repeat bookings by 38% in six weeks.
- Client
- Aesthetic clinic, Lisbon
- Engagement
- 2 weeks build, 30 days support
- Stack
- TypeScript · Postgres · Claude · Twilio
- Role
- Design · build · ship
A booking calendar that quietly emptied itself.
The clinic ran on a single booking platform with no real follow-up beyond the appointment reminder. When a treatment cycle ended — typically four to twelve weeks before the next one was due — the patient just dropped out of view. The receptionist would chase manually when she had time, which was almost never.
By the time we audited the calendar, around a third of patients who'd been there twice didn't come back for a third visit. For a clinic where the unit economics live and die on retention, that was the difference between coasting and growing.
A small set of agents, doing one job well.
The temptation was to build a CRM. We didn't. The clinic didn't need new software to learn — they needed the software they already had to quietly do more work.
We built three small components that hook into the existing booking platform via its API and run from a tiny server. Together they cover the loop from "last visit" to "booked again", with no extra logins for the team and no patient ever talking to anything that feels like a bot.
-
·
Treatment-aware recall scheduler
Reads each patient's last treatment, computes the right recall window per protocol, and queues a re-engagement at the right moment — not a fixed 30 days.
-
·
Per-patient message drafter
An agent drafts a short SMS or email that references the patient's actual last visit and treatment, in the clinic's tone. The receptionist sees the draft, edits if she likes, sends in one click.
-
·
Personalised booking link
Each message carries a personalised link straight into a pre-filled booking flow — slot suggestions sorted by patient preference. Two clicks, done.
A quieter calendar that fills itself.
Six weeks after go-live, repeat bookings were up 38% against the same period the year before, with no extra marketing spend. The receptionist gained around five hours back per week — time that went into actually being warm with patients in the waiting room, instead of chasing them by phone.
The system runs in the background. The clinic owner checks the dashboard once a week, mostly because she enjoys watching the numbers.
- +38% Repeat bookings · 6 wks
- ~5h Receptionist time back / wk
- 2 wks Kickoff → live
"The strangest part is how invisible it feels. Patients say the messages don't feel automated. They just feel like we remembered them." — Clinic owner, Lisbon