← All work
Healthcare, 2026

Clinic appointments by phone and WhatsApp

Patients book by calling, texting or WhatsApp. Calls are transcribed, intent is extracted and a slot is booked. Admin, receptionist and doctor portals, invoicing and reports.

Role
Architect and developer
Context
Client MVP, Ottr Technology
Scale
101 commits, ~200 source files, client specs v2 – v5
Clinic portal dashboard
Clinic dashboard: today's appointments and outstanding balances.

Background

A clinic wanted fewer missed calls and a calendar that reception, doctors and admin all trust. The system takes bookings from phone calls, SMS and WhatsApp, and gives each role its own portal.

Screens

The problem

Most patients will not use an app. They call, and reception is busy. The booking has to happen from the call itself, and anything ambiguous has to reach a human rather than silently fail.

Approach

  1. Voice intake with Twilio: the call is transcribed with OpenAI Whisper or a local transformers.js model, intent and preferred time are extracted, and a matching slot is booked. Unclear requests land in a reception 'unresolved' queue.
  2. A WhatsApp booking bot on the Meta Cloud API for the same flow in text.
  3. Doctor schedules with buffers, blocked time and holidays. Patient records with MRN, allergies, insurance and prescriptions.
  4. PDF invoices with partial payments, outstanding-balance aging reports, and an audit log across all three portals.

Outcome

  • Delivered as an MVP with staging and production compose files and a staging deploy guide. Spec revisions from v2 to v5 in the repo track an active client.

Stack

NestJSPrismaPostgreSQLBullMQReact 19ViteTwilioWhatsApp Cloud APIWhispertransformers.jspdfkitS3