Work Case study
YesDoctor: How a WhatsApp Front Desk Reached 50 Clinics
YesDoctor started as a booking bot for one paediatric clinic and became the system 50 clinics open every morning. This is the product story: what the desk actually needed, what we got wrong first, and why the AI inside it answers only from the clinic's own records.
Short answer. YesDoctor is a WhatsApp-first front desk for small Indian clinics, built by TulsiX and live in 50 clinics. Patients book and get their token on WhatsApp, the desk runs the day from one screen (queue, fees, records, open slots), reminders cut no-shows, and YesDoctor AI answers the doctor's "what did I give last time" from the clinic's own records. Built on .NET 10, PostgreSQL and the WhatsApp Cloud API.
The desk we were building for
A small clinic in India runs on a register, a phone and the receptionist’s memory. Patients call to ask “how long?”, walk in without booking, pay at the end in cash or UPI, and the doctor asks “what did I give last time?” while someone looks for the file. The owner finds out how the month went when the accountant says so.
Most clinic software is built for hospitals: appointment grids, modules, logins for everyone. None of it survives contact with a single-doctor clinic where the receptionist changes every few months and the patients will not install an app.
What we decided early
- Patients use WhatsApp only. Booking, token, “it is your turn”, reminders and recalls all happen in the chat they already have. Nobody installs anything.
- The desk gets one screen. Today’s queue, who is in the room, who is next, fees pending and collected, open slots. Everything else is a click away, not a tab.
- The queue is the product, not the appointment book. In most of our clinics the majority of a day is walk-ins, so the design starts from the line at the door.
- Reception signs in with a code, not a password. Shared desks and staff turnover made passwords a support problem; a code to the clinic’s number ended it.
What changed at the clinic
| Before | Now |
|---|---|
| A register and a phone that never stops ringing with “how long?” | Patients book on WhatsApp, get a token, and are told when it is their turn. |
| Fees chased at the end, cash and UPI reconciled from memory. | The desk takes the fee before the patient goes in; totals update as the day runs. |
| No-shows discovered when the slot is already empty. | Reminders the evening before and three hours before; a freed slot is offered to the waitlist the same day. |
| The doctor waits for the file. | Visit history, vitals and the treatment course are on the Room screen before the patient sits down. |
| The owner learns the month from the accountant. | Weekly and monthly reports by mail: visits, fees, no-shows prevented, recalls that came back. |
Hinglish is the language of booking
“kal shaam ko time milega?” has to just work. We did not hand booking to a language model. Rules extract the intent (book, reschedule, cancel, day, session) and everything after that is deterministic: slot list, confirmation, token. A clinic cannot afford a booking made by guesswork.
The AI that doctors actually used
The first idea was an assistant that suggests treatment. Doctors did not want advice. They wanted memory. YesDoctor AI took off when it answered “what did I give for back pain” from the clinic’s own records, with how often and the usual gap between sessions, and left the decision to the doctor. A treatment is added to the note only when the doctor presses Add.
Every answer is computed from the clinic’s own database on its own server. Nothing leaves it.
How it is built
- .NET 10 on Linux, server-rendered pages, PostgreSQL, one deployment per region.
- WhatsApp Cloud API with signed webhooks, idempotent message storage and background processing, so a slow network never loses a booking.
- A scheduler that sends reminders and marks no-shows on IST time, and claims every send before it goes out so nothing is sent twice.
- Per-clinic switches for modules such as the pharmacy, so a physiotherapy clinic and a paediatric clinic see different products on the same codebase.
What 50 clinics taught us
- Walk-ins are the clinic, not the exception.
- The fee step belongs before the consultation, not after.
- Owners read a weekly mail; they do not open dashboards.
- The receptionist is the real user. If she is faster with the register, the register wins.
What is next
Voice, in Hindi and English, first inside YesDoctor: booking by a phone call for patients who do not type, and dictated notes in the room. And the pharmacy module, already live where a clinic dispenses, growing into stock, purchases and sales.