pilot, Uganda

Karibu Health

Document patients on a phone, even offline.

Visit site

A 30-year relationship with Uganda and a 15-year friendship led to this. My friend Javis is a nurse there. We wanted to see what almost-free AI coding could really do, so we ran product-discovery interviews with clinicians.

They all said the same thing: they wanted a better EHR. And none of them had a computer connected to the internet. So we built an Android EHR for the HCIII, Uganda’s most-used clinic tier. It works offline, and it keeps the clinician — not the AI — in charge of the chart. In pilot today.

At a glance

Problem

Rural Ugandan health centres run on paper, with intermittent power and network. Cloud-first records and manual Ministry of Health reporting both break against how care actually happens.

Solution

We built an offline-first Android EHR. Clinicians dictate or type notes that always save locally and reconcile when the network returns, and an AI layer reviews each note against cited Uganda Ministry of Health guidelines.

Why it was hard

Two hard problems at once: make a real multi-role EHR work when power and network are unreliable, and keep an AI strictly trustworthy in a clinical setting. The answer was an idempotent sync engine plus a hard citation-subset guard that drops any suggestion not grounded in the retrieved corpus.

Impact

It replaces a sync model that used to lose dictated notes, runs at roughly $1–2/day in AI cost, and keeps clinicians in full authority — while easing the documentation and reporting that unlocks government subsidies.

AI components

  • LLMs

    OpenAI Whisper (gpt-4o-transcribe) for dictation; gpt-4o-mini for note review, HMIS coding, and receipt drafting; text-embedding-3-small for retrieval.

  • Agents

    Consult — a de-identified, offline-blocked second-opinion chat; most surfaces are deliberately non-agentic and single-shot.

  • RAG

    pgvector retrieval over the Uganda Clinical Guidelines, WHO IMNCI, HIV guidelines, and Essential Medicines List, with chunk-tagged citations.

  • Evaluations

    No model-output eval harness yet (the deterministic helpers are unit-tested); flagged as the top improvement.

  • Workflows

    An Inngest post-dictation pipeline (note review, receipt draft, HMIS suggestion) with a 60-second self-healing poller.

  • Automation

    An outbox sync engine with client-supplied idempotency keys; deterministic critical-alert rules (e.g., infant high fever) that bypass the model entirely.

Technology

Kotlin • Android • Supabase • Inngest • OpenAI