Skip to main content

How this works

What is real, what is not.

This is a working prototype, not a government service. Here is exactly what runs, what is stood in for, and what it would take to run this for real.

About the data

Every name, phone number, consultation and prescription here is invented. No real person, no real doctor, no government system is involved.

Working today

  • The doctor side

    Doctors sign in, see their queue with the case sheet already prepared, take the call, and write the summary and prescription the patient then reads.

  • Video and voice calls

    Real calls over a managed media service: camera and microphone controls, connection state, and an automatic drop to voice when the line cannot carry video.

  • Choosing the doctor

    Triage picks a speciality from a fixed list, then ordinary rules match you to a doctor on duty who speaks one of your languages, in your state where possible. You never have to choose.

  • Holding your place

    Your position is worked out from when you joined, on the server. Closing the page, losing signal or switching phones cannot cost you your turn.

  • The whole patient journey

    Choose a person, describe the problem by voice or text, confirm what was understood, join the queue, take the call, get a prescription, book a follow-up.

  • Turning speech into a case sheet

    A language model organises what you said into clinical fields. It runs server-side, and its output is checked against a schema before it is used.

  • Translation between languages

    The same model translates health text, told to keep medicine names and dosages exactly and never to drop a warning.

  • Every screen in two languages

    English and Hindi throughout, including the record and the printable prescription. Dates are formatted per language, not hard-coded.

  • Works without JavaScript

    Language switching, the FAQ and every form submit are plain HTML. Reveals are CSS-only.

  • Your record, kept

    Patients, the people in your care, consultations, prescriptions and health facts are rows in Postgres. Close the tab and come back tomorrow — it is still there, on whichever server answers.

Stood in for

  • The duty roster

    The doctors, their languages and who is on duty are invented and fixed. In the real service this comes from the state rosters.

  • Other patients in the queue

    The people ahead of you clear at a fixed rate, so the wait behaves like a real one without a hospital full of patients behind it.

  • Calls without a media service

    Calls are real, but only once a media service is configured. Without those keys the call screen says so plainly instead of pretending.

  • Sign-in

    Patient and doctor sign-in are both demo: a PIN opens an account, and no phone number is verified and no medical registration is checked.

  • SMS and callbacks

    Nothing is sent. Queue position and wait times are illustrative.

What it would take at scale

  • Assigning turns without collisions

    Two doctors must never be handed the same patient. That is a database transaction claiming the next person in one atomic step, not application logic.

  • Media that survives a weak network

    Video belongs on a managed service with an India region, adaptive bitrate and an audio-only fallback — not on servers you run.

  • Work that happens later

    The three-day follow-up, no-show timeouts and message retries need a job table with idempotency keys and a scheduler, so a retry never sends twice.

  • Consent and audit

    Every time someone opens another person's record, that has to be recorded — who, when, and under whose consent.

  • Keeping recordings out

    Speech becomes text, the person approves it, the audio is discarded. The transcript is the record, not the voice.