Baba Clinic: One screen per role. Nothing written in a book twice.
By Majid Ali, founder of Bytecrest · Published 22 October 2026 · Updated 22 October 2026
Baba Telehealth runs walk-in facilities in Nigeria. We turned two years of their chat history into a spec, then designed and built the web app every role in the clinic now works from: reception, nurses, doctors, the lab, the pharmacy and billing.
- Client
- Baba Telehealth, Nigeria
- Scope
- Spec, design system, web app, tests, handoff
- Role
- Product, UX/UI, front-end engineering
- Status
- Live in two clinics

6
roles on one system
316
automated tests
14
build tickets from one spec
6
printed clinical documents
What shipped and what it does
One record per patient
Reception registers a patient once and issues a medical record number for life, so details are no longer written into a book three times.
One live board
Every visit moves through six statuses on a board the whole clinic can see: Arrived, Triaged, Ready, Consulting, Payment and Left.
Billing that follows the visit
Self-pay patients pay before tests run. HMO bills are deferred to the insurer. The bill builds itself in naira.
Built to be changed safely
316 automated tests, unit and end-to-end, and 14 build tickets cut from one written spec.
This lists what we delivered. It is not a set of usage figures.
where it started
The problem
Patients were registered, triaged and billed on paper and in WhatsApp threads. The same details were written into a book at reception, again at triage, and again at the pharmacy.
The brief lived in two years of chat messages between the clinic team and their developers. Nothing had been written down as one plan, so every new feature started with an argument about what had been agreed.

Chapter 01 · Reception
Reception: book a visit and put it on the board
Reception registers a patient once and issues a medical record number for life. Appointments go into clash-proof slots with a doctor, nurse or midwife, and checking a patient in puts their visit on a live board the whole clinic can see.
Every visit moves through six statuses, Arrived, Triaged, Ready, Consulting, Payment and Left, always shown with a letter, a word and a colour, so nobody has to rely on colour alone.

Chapter 02 · Triage
Triage: flags in words, not just colour
Nurses record vitals, a urine dipstick and a priority. BMI works itself out, and out-of-range values say HIGH or LOW in words, so nothing depends on seeing red.
A critical patient jumps to the top of the doctor’s queue straight away. The queue ranks by priority, then appointment time, then arrival.

Chapter 03 · Consultation
Consultation: the nurse’s notes and every past visit
The doctor’s workspace shows the triage notes and the patient’s full history on one screen. Drafts save themselves, prescriptions are written line by line, and imaging prints as an external request.
When no doctor is on site, the clinic switches to no-doctor mode: nurses can consult, refer, or book a doctor follow-up into the next free slot.

Chapter 04 · Lab, pharmacy & billing
Lab, pharmacy and billing: pay before the test
Self-pay patients pay at the lab before tests run, and HMO bills are deferred to the insurer, AXA Mansard for example. When the work is done, the visit moves itself to Payment and the bill builds itself in naira.
Six clinical documents print on the clinic letterhead: receipts, prescriptions, lab requests, referrals and more.
what we handed over
Delivered
- A written spec distilled from a two-year client chat
- Domain model and four architecture decision records
- 14 build tickets
- Design system and every screen
- Production React app with PIN sign-in
- 316 automated tests (unit and end-to-end)
- Handoff documentation
Built with
- React 19
- TypeScript
- Tailwind CSS
- TanStack Query
- React Router
- Radix UI
- Vitest
- Playwright e2e
