Skip to content
Apoliums

WorkHealthcareClinicFlow

A scheduling platform that lets patients rebook themselves

Apoliums replaced a phone-and-spreadsheet booking desk with a scheduling platform that confirms appointments over WhatsApp and lets patients reschedule without calling the clinic.

Client
ClinicFlow
Sector
Healthcare
Live
Behind a clinic login, not a public site.
Services
Product engineering, Workflow automation, Integrations
ClinicFlow, Healthcare platform built by Apoliums

What was the problem?

Front-desk staff were booking appointments by phone and spreadsheet, with no-shows going unmanaged.

  • Every appointment change went through a phone call, so the diary was only accurate while somebody was watching it.
  • The spreadsheet had no locking. Two receptionists editing the same day silently overwrote each other's rows.
  • Nobody could tell a cancellation from a no-show after the fact, so the clinic had no way to decide whether reminders were worth building.
  • Doctor availability lived in a separate rota, and the two documents drifted apart within days of any leave request.

How Apoliums approached it.

Built a booking platform with automated WhatsApp reminders and a reschedule flow patients could self-serve.

  1. Model the slot, not the appointment

    Availability is generated from a doctor's recurring rota plus exceptions, and every slot row carries its own unique constraint on doctor and start time. A double booking becomes a database error rather than a support ticket.

  2. Make the reminder a queued job, not a cron sweep

    Each booking enqueues its own reminder at confirmation time with an idempotency key. Rescheduling cancels the pending job and enqueues a new one, so a patient who moves an appointment three times still receives exactly one reminder.

  3. Give the patient a signed link instead of an account

    Reschedule and cancel links are short-lived signed URLs tied to a single booking. Patients change their own appointments without a password, and the clinic never stores another credential.

  4. Record the outcome of every slot

    Slots close as attended, cancelled or missed, with a timestamp and the actor who closed them. That single column is what turned no-shows from an anecdote into something the clinic could report on.

What the system runs on.

  • Next.js
  • Node.js
  • PostgreSQL
  • Twilio
Front end
Next.js App Router. The staff diary is a client-rendered week view; the patient reschedule page is a server-rendered route behind a signed token.
API
Node.js service with all booking writes wrapped in a single transaction, slot claim, booking row, and outbox entry commit together or not at all.
Data
PostgreSQL. Unique index on (doctor_id, starts_at) for slot integrity, plus an append-only booking_events table that carries the audit trail.
Messaging
Twilio for WhatsApp and SMS, driven from a transactional outbox so a message is never sent for a booking that rolled back.
Jobs
A queue worker drains the outbox, applies per-recipient rate limits, and retries with exponential backoff on provider errors.

What changed after launch.

Fewer missed appointments after automated reminders shipped.

  • The diary became the single source of truth: rota changes and bookings now live in one system rather than two documents.

  • Double bookings stopped being possible at the database level rather than being caught by staff.

  • Cancellations and no-shows are now separate, timestamped outcomes, which is what made reminder performance measurable at all.

  • Reschedules move to the patient, so the front desk handles the exceptions instead of every routine change.

More from the same shelf.

All case studies
Care4parents, Healthcare product interface built by Apoliums

HealthcareWeb development

Care4parents

Eldercare a family can check on from another country

  • Web development
  • Mobile app development
EazyHealth, Healthcare product interface built by Apoliums

HealthcareWeb development

EazyHealth

Preventive health for the age group that never books a check-up

  • Web development
  • Mobile app development
A working desk in the Apoliums studio, mid-build

Have a system that needs building?

Send the problem, not a specification. Apoliums replies with the shape of a first build, what it would cost to find out if it works, and who would do the work.

Studio
Indore, Madhya Pradesh
Reply time
One working day