# Baba Clinic: clinic EMR web app case study | Bytecrest

> How we specified, designed and built Baba Clinic, the EMR web app now live in two Baba Telehealth clinics in Nigeria. One screen per role, 316 tests.

URL: https://bytecrest.dev/work/baba-clinic/

1. [Home](https://bytecrest.dev/)/
2. [Work](https://bytecrest.dev/work/)/
3. Baba Clinic

Clinic EMR · Web app Live in two clinics 2026

# Baba Clinic: One screen per role. Nothing written in a book twice.

By [Majid Ali](https://bytecrest.dev/about/#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

![Baba Clinic web app: the live reception board with patient visits moving through statuses](https://bytecrest.dev/img/work/baba-hero.webp)

- 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.

![Reception schedule and live board with a new patient record number issued](https://bytecrest.dev/img/work/baba-reception.webp)

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.

![Triage screen with vitals cards flagged HIGH and a critical priority tag](https://bytecrest.dev/img/work/baba-triage.webp)

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.

![Consultation workspace with patient history and the no-doctor mode card](https://bytecrest.dev/img/work/baba-consult.webp)

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.

![Billing screen with an awaiting payment total of ₦7,000 and printed documents](https://bytecrest.dev/img/work/baba-billing.webp)

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

### Services used

- [App & MVP development](https://bytecrest.dev/app-development/)

## Next project

[All work](https://bytecrest.dev/work/)

![Myaigi app hero: a cartoon sensei beside the coach chat and daily overview screens](https://bytecrest.dev/img/work/myaigi-hero.webp)

AI habit coach · iOS app UX/UI and app build

### [Myaigi: Turning a habit tracker into a habit coach.](https://bytecrest.dev/work/myaigi/)

free, 20 minutes, no slides

## Tell us the idea. We’ll plan it with you.

Majid will ask what you want to build, then send a written plan with a fixed price and a start date. If we’re not the right team, he’ll say so.

[Get my free 20-min build plan](https://zcal.co/majidalee/build-plan) [hello@bytecrest.dev](mailto:hello@bytecrest.dev)
