How we replaced spreadsheets and WhatsApp across 12 clinics with a single SaaS platform
A 6-month engagement to design, build, and launch a multi-tenant clinic management SaaS β from zero to 12 live locations on launch day.
12 clinics, zero shared infrastructure
The client was running 12 private clinics across two cities. Every location was managing appointments on WhatsApp, patient records in Google Sheets, and billing in a hodgepodge of local tools β none of which talked to each other.
Double-bookings were common. Patient records were siloed per clinic. The owner group had no unified view of revenue, utilisation, or no-show rates across the portfolio. Every month-end report was a manual nightmare.
They needed a single SaaS platform their entire portfolio could run on β with role-based access for clinic owners, doctors, and reception staff β designed to feel simple enough that non-technical staff could use it on day one.
Multi-tenant architecture
Each clinic needs isolated data but the owner group needs a consolidated view. No cross-contamination between tenants.
Real-time appointment scheduling
Drag-and-drop calendar, SMS reminders for patients, and instant conflict detection across rooms and practitioners.
Patient records and history
Full visit history, uploaded documents, notes per appointment β accessible instantly at check-in.
Invoicing and Stripe payments
Generate invoices, accept card payments, and export to accounting β without leaving the platform.
Architecture designed for growth from day one
We ran a 3-week discovery sprint before writing a single line of application code. The key decision was the multi-tenancy model β we went with a shared database with row-level tenant isolation rather than per-tenant databases, which kept infrastructure costs manageable as the portfolio grew.
The role-based access model was designed with 5 levels: platform admin, clinic owner, clinic manager, doctor, and receptionist β each with granular permission scoping so staff only see what they need.
We built in SMS reminder automation from the start (via Twilio), which turned out to be the single biggest driver of the 40% no-show reduction. Patients received a reminder 24 hours and 2 hours before their appointment with a one-click confirm or cancel link.
Discovery & architecture (Wks 1β3)
Stakeholder interviews across 4 clinic types. Data model design. Multi-tenancy strategy. Role permission matrix. API contract definition.
Core scheduling engine (Wks 4β9)
Calendar engine with conflict detection, appointment state machine, and real-time availability. Twilio SMS integration for reminders.
Patient records & billing (Wks 10β15)
Patient profile system with file uploads, visit history, and medical notes. Stripe integration for invoices and card payments.
Owner analytics dashboard (Wks 16β20)
Portfolio-wide view of revenue, occupancy, no-show rate, and top-performing practitioners. Exportable to CSV/PDF.
Staff training & go-live (Wks 21β24)
Phased rollout across all 12 clinics. Staff training sessions per location. Full migration of historical appointment data.
A stack built for reliability at scale
All 12 clinics live on day one
What impressed the client most wasn't the feature set β it was the rollout. All 12 clinics went live simultaneously on the agreed date. Staff at every location had been trained and were using the system confidently by end of week one.
Six months in, the no-show rate had dropped 40% β the single change that paid for the platform several times over. The owner group now has daily visibility into every clinic's performance from one dashboard.
We went from managing 12 clinics on WhatsApp and spreadsheets to having everything in one place β appointments, records, billing, analytics. The FiveNodes team understood our workflows before they wrote a single line of code. The rollout was smoother than anything I have seen in 15 years of running healthcare businesses.
Building a multi-tenant SaaS?
Tell us what you are building. We respond the same day with honest architectural thoughts β no sales call required.