In build2026HealthDigital public infrastructure
Health ID
A health ID from birth
A provisional health ID issued at birth or at the first vaccination, linked to the mother, built on the NIN rather than against it, and designed to keep working in a clinic with no signal. An experimental answer to a problem set by eHealth Africa on the NITDA Builders Festival.
- For
- Self-commissioned
- What it is
- Web application
- What we did
- Field research, Service design, Product design, Platform engineering
- Live at
- Try the demo
- Backend
- GoPostgreSQLRecords presented as FHIR
- Frontend
- Vue 3TypeScriptOffline-first PWA
- Infrastructure
- HetznerCaddysystemdCloudflare Workers

The problem
A woman registered at a primary health centre in Kano gets a folder number there. A year later a private clinic in Lagos gives her another, and a teaching hospital writes her name slightly differently and gives her a third. Three records, mostly on paper, none aware of the others.
The cost is a repeated test, a missed allergy, or a baby whose vaccinations cannot be reconstructed. The country counts one woman as three patients.
What we did
We built it ourselves, in response to a problem set by eHealth Africa on the NITDA Builders Festival: fragmented patient identity across Nigeria’s public and private health facilities.
The design starts from one idea. The ID is not the identity. The identity is the person and all the ways clinics know them. The health ID is the one identifier every facility can share, and it is the front door: a valid ID opens the record at once, and name, phone and folder-number search are the fallback when the ID is missing.
It is built on the NIN, not against it. NIN verification uses a single-use virtual NIN that we do not store, and it is optional.
What exists now
A working API and an offline-first clinic app, live as a public demo with five roles to try. Registration, vaccination records, matching, consent, the portable summary and sync after reconnecting all work. Everyone in it is fictional, the national identity service is simulated, and it resets every night.
What it produced
Nothing in the field yet. It has not been used by a real clinic, so there are no outcome figures, and we do not publish any.
What we learned
The decisions, the bugs that taught us the most and what is still not built are written up in field note 08.
Have a system that needs building?
Bring us the problem →