All work

Waiting Room

A patient app for a 40-doctor clinic in Pune

Waiting RoomPreview
Screenshot of Waiting Room on a desktop

Waiting Room is a sample brief. We imagined a 40-doctor clinic in Pune whose patients felt lost between appointments, and asked ourselves what we'd build for them. The clinic is imaginary. The app isn't: we designed and engineered it, and the browser build below is the web version of its front end, ready to use right now.

A sample brief, a real product. We wrote this brief ourselves. The business is imaginary; the product is not: we designed and engineered it, and you can use it above. We publish results only for work a client has let us verify, so this page shows none.

01

The brief

We imagined a busy multispeciality clinic in Pune with good doctors and a patient experience that felt like paperwork. Appointments lived in phone calls, lab results arrived as jargon in a PDF, and follow-ups depended on someone remembering.

So we asked what a companion app for that clinic should do, and built it end to end. It explains what is happening in plain language, keeps a family's records in one place, and nudges people toward the next step without nagging.

02

The problem

A clinic like this serves people who are anxious, often unwell, and holding an old phone with one bar of signal in a crowded waiting area. Every screen has to be legible under stress and trustworthy at a glance. In India it also has to fit the health stack patients already have: ABHA numbers, records held at other hospitals, and consent rules under the Digital Personal Data Protection Act, 2023.

  • Explain lab results without talking down
  • Earn trust with restraint, not dark patterns
  • Keep working on patchy clinic Wi-Fi
  • Ask for consent clearly, and make it easy to take back
  • Accessible from the first screen, not retrofitted
03

The approach

We started from the moments a patient actually has: booking, waiting, reading a result, paying, coming back. Each got one screen that answers the obvious question first. We planned the production apps as native SwiftUI and Jetpack Compose clients; the build you can open below is the web version of the same front end, running on sample data.

Records link to a patient's ABHA through ABDM, and every share is a consent the patient can see, revoke and check later. The privacy centre follows the DPDP Act: what we collect, why, how long we keep it, what you can ask for, and who to complain to.

What would change for a clinic like this: fewer calls to the front desk asking what a result means, and patients who walk in knowing what happens next.

  • Flows built around a patient's visit, not the clinic's departments
  • A quiet design system in Bricolage and system text
  • Offline cache with an ordered action queue
  • ABHA linking and consent artefacts through ABDM
  • A DPDP-style privacy centre with a dated consent log
04

What shipped

  • Offline mode with an ordered action queue that replays on reconnect
  • Appointments: book, cancel, history
  • Snooze, refills and reschedule
  • Plain-language lab results
  • Care messages
  • Family profiles, each with its own ABHA
  • Records: vitals, documents, allergies, vaccinations
  • ABHA linking with OTP, and ABDM consent requests you can revoke
  • Records from other facilities, fetched through ABHA
  • DPDP Act privacy centre: consents, data rights, grievance officer
  • Billing with cashless insurance
05

Under the surface

How it is built

The production plan: native SwiftUI and Jetpack Compose clients share a typed contract with a Node.js tRPC backend; PostgreSQL holds the clinical schedule, Redis handles reminder fan-out, and an offline-first cache keeps the app useful on one bar of clinic Wi-Fi. The browser demo is the web version of that front end, on sample data.

  • End-to-end types: tRPC contract shared by client and server
  • Offline queue with conflict-safe replay on reconnect
  • Audit trail on every record view, in line with the DPDP Act, 2023
  • ABHA linking and consent artefacts via the ABDM gateway
  • Reminders over APNs, FCM and WhatsApp from one dispatch service

Considered and turned down

Flutter or React Native for a single codebase. We chose native for HealthKit and Health Connect depth, accessibility APIs and scroll feel.

Stack

SwiftUIKotlin · Jetpack ComposeNode.jstRPCPostgreSQLRedisABDM APIsAWS ECS (Mumbai)
06

The mechanism, working

The part of Waiting Room that was hardest to get right, as a small model you can operate.

lab/offline-queueOpen in the Lab

Offline-first action queue

Every tap is a command. Offline, commands queue locally; on reconnect they replay in order, conflict-safe.

What are you building?

Pick one and we will show you the closest thing we have already built. Or go straight to the brief: a person replies within one working day, with an honest view on scope, time and cost.

studio@yakooha.com+91 81042 13809WhatsApp Monday to SaturdayAndheri, Mumbai10:00 to 19:00 IST, Monday to Friday
What are you building?

Ask an AI about Yakooha

Opens with a question already written. Check us somewhere we don’t control.