Overview

Most people in Kenya pay for care the moment they receive it: at a hospital counter, often for someone else, often with less on M-Pesa than the invoice says. The gap is covered by phone calls to family and by borrowing on terms nobody has time to read.

Jireh turns that informal support into structure. A Circle of relatives and friends backs a small interest-free credit line, cashback builds up from every payment, and one payment flow lets patients mix these sources at the counter. My job was to make that feel as simple as sending money on M-Pesa, the bar every Kenyan user compares us to.

Four constraints shaped every screen:

  • 3G and low-end Android. Screens had to load fast and survive a dropped connection mid-payment.
  • Money, ID and health in one app. Every request for a National ID, selfie or PIN had to explain itself.
  • Paying for someone else. The payer and the patient are separate throughout.
  • Data costs money. Heavy screens and surprise downloads cost users before we'd earned their trust.

Principles

  • Every shilling is visible. Amounts always show the currency and use tabular figures. During a payment, allocated vs. owed is always on screen.
  • One decision per screen. Long flows are split into steps, each with one question and one primary action within thumb reach.
  • Money moves only on a PIN. The PIN sheet opens over the payment summary, so who is being paid and how much stay in view.
  • Never lose progress. Multi-step forms save as people type, so a refresh or a dropped connection resumes where they were.

A shared design system holds these rules in place across more than a hundred screens: semantic colour tokens, one heading ramp, and three page shells (journey, sign-in and status), so no screen builds its own chrome.

Paying at the counter

Fast Track happens in the most stressful place: a queue at a hospital cashier. Each partner facility shows a payment number at its counter, or the patient can search for the hospital instead. Entering it brings up the hospital, the desk and the cashback rate before any money is involved; then the patient adds the invoice, the amount and who they're paying for.

The wallet step is where Jireh differs from a checkout page: one bill can be split across several sources, and a bar fills as the patient allocates. The loan drawer shows what's left to cover, asks for a repayment period and states the cashback earned on repaying, so the loan becomes something to plan around. After submitting, the app always lands on the status screen, so a nervous second tap can't pay twice.

Enter the facility's payment number JH·482·913; Cana Hospital, Outpatient Cashier and a 5% cashback rate are shown to confirm
Step 1 Find the counter The payment number brings up the hospital, desk and cashback rate first.
Invoice details: invoice number, who you are paying for, a KES 3,450 bill and a note that it could earn up to KES 173 cashback
Step 2 Invoice and patient A cashback estimate appears as soon as the amount is entered.
Loan sheet: KES 1,600 remaining to allocate, KES 3,200 available to borrow, KES 80 cashback on repayment and a 30-day repayment period
Step 3 Borrow the gap What's left to cover, and what repaying earns.
Select how you want to pay: allocation bar full at KES 3,450 of 3,450, from a Jireh Medical Loan and cashback, with M-Pesa available to add
Step 3 Fully allocated Each source can still be edited or removed.
Confirm payment: paying for Amina Otieno at Cana Hospital, KES 3,450, from KES 1,850 cashback and a KES 1,600 loan due 29 Oct
Step 4 Review in plain words “I am paying for… I am paying at…”, and no transaction fees.
PIN sheet over the payment summary, with Cancel and Confirm PIN buttons
Step 4 Confirm with a PIN The sheet opens over the summary, so the bill stays in view.
Transaction result: KES 3,450 paid to Cana Hospital, split into a KES 1,600 loan and KES 1,850 from the Care Fund, with a View receipt button
Step 5 Proof for the cashier A large result the patient can turn around and show.

Home

Patients hold two kinds of money with Jireh: cashback they've earned and credit they can borrow. Home shows both as cards side by side, with a toggle to switch between them, and each card has its own colour (purple for cashback, teal for loans), so people know which one they're in without reading. The next step sits directly under each balance, and "Pay Medical Bill" is always pinned above the tab bar.

Home with the Cashback card selected: KES 3,200 cashback earned, Redeem and Share buttons, and discounts and offers below
Cashback What's been earned, with Redeem and Share right under it.
Home with the Loans card selected: KES 1,600 available to borrow, Raise my limit and Repay buttons
Loans What's available to borrow, with Raise my limit and Repay.

Circle

A Jireh loan is backed by a Circle, not a credit score. The hard part was explaining shared responsibility without sounding like a debt collector. The Circle screen draws people around you rather than listing them, and the explainer leads with what you get before the shared risk.

A Circle holds two kinds of people. Circle members are adults you trust to repay: two of them unlock borrowing, and they are the only people who receive an invite, as a custom SMS or a recorded voice note for anyone without a data bundle. Dependants, such as children and elderly parents, are people whose medical bills you manage. You add them by name and can pay for them straight away, and they never receive an invite or take on any of the risk.

My Jireh Circle: the user's photo at the centre with four Circle members around them, and a Dependants row below
Your Circle Members drawn around you, with your dependants below.
Add to your Circle: first and last name, a phone number that will receive the invite, relationship, and a choice of custom SMS or voice note
Invites go to members only Only Circle members get an invite, by SMS or voice note. Anyone else you pay for is added as a dependant.
Add a dependant: anyone whose medical bills you manage, such as children and elderly parents, with name and relationship only
Pay for others, no invite A name and a relationship; nothing is sent to them.
How Circles work: grow together with people you trust, what a complete Circle unlocks, then the shared risk
Benefit before risk What a complete Circle unlocks, then the shared risk, before anyone is invited.
Designing the Circle meant designing around trust between people, as much as trust in the product.

Onboarding

Sign-up has no password: a phone number, an SMS code, your name as it appears on your ID, then a PIN. The PIN screen says what it's for, because people take a PIN more seriously when they know what it protects.

Identity checks come only when they're needed. The National ID step can be skipped, and the app routes by what's missing rather than a fixed order, so leaving halfway always brings you back to the right step. Unlocking loans turns the remaining requirements into a checklist that ticks off over time, and a failed selfie match goes to a person for review instead of a dead end. Permissions follow the same rule: alerts, installing the app and sharing location each say what they're for, and nothing is switched on until the patient chooses it.

Enter your phone number: a Kenyan number field and a ticked checkbox agreeing to Jireh Health's Privacy Policy
Step 1 Phone number Consent is a clear checkbox, not fine print.
Enter your One-Time-PIN: six code boxes, a link to change the phone number and a resend countdown
Step 2 SMS code The number it was sent to, a way to change it, and a resend timer.
Fill in these details to match your National ID: first and last name (required), National ID number and how you heard about us
Step 3 Details as on your ID Only the name is required; the ID number is needed only to pay.
Create your PIN: you will use this PIN to confirm all payments, with create and confirm PIN fields
Step 4 Create a PIN Says what the PIN protects, then confirms it on the same screen.
Limit calculator: upgrade to access KES 1,500 as 0% interest medical loans, with four steps from checking your limit to a one-off KES 499 fee
Later Unlock loans Starts with the limit you'd unlock; four steps, with the fee last.
Never miss an alert when you install the app: toggles for alerts, installing the app and sharing location, each with its benefit
Later Permissions Each switch says what it's for, and all start off.

Paying from an invoice

Not every bill is paid in person, or at a facility in the Jireh network. The invoice route names its three steps up front: the facility's payment details, a photo of the bill, then how to pay. Patients can upload several pages at once, and consent for Jireh to use their medical data is asked right beside the upload it covers. While the invoice is checked, the screen says how long it takes and what comes next, instead of showing a spinner. On the review screen every detail has its own edit button, so a wrong amount or Paybill is fixed in place. Repaying is just as calm: Paybill and account numbers have copy buttons, and an overdue loan is one clear state with one action.

How to pay: three steps to pay at a care provider, fill in facility details, upload a photo of your invoice, and choose how you want to pay
What's about to happen Three steps named before the first one starts.
Facility details: facility type, the care provider's phone number, M-Pesa account type, Paybill number and an optional account number
Step 1 The facility's details Paybill and account number, with the account field only when it's needed.
Upload invoice: three uploaded invoice pages, an Add a photo button and a consent checkbox for Jireh to use medical data
Step 2 Upload Several pages at once, with consent for medical data right beside them.
Processing your invoice: an update expected in 15 minutes, with the next step, confirm invoice details
Processing, not a spinner How long it takes, and what comes next.
Review invoice details: the invoice pages, who you are paying for, the facility, the total bill and the M-Pesa payment details, each with an edit button
Step 3 Review and confirm Every detail can be edited in place before choosing how to pay.
All loans with total to repay, Paybill number and account number with copy buttons
Repaying Copy buttons for the Paybill and account numbers.
Loan details with repaid vs total and an overdue warning with a repay button
Overdue, calmly A clear state and one action, without alarm-red screens.

Ask Jireh

The newest feature is an assistant in the centre of the tab bar. It answers questions about payments, loan limits, Circles and cashback, and points people to nearby facilities. Before the first chat, a sheet asks the patient to accept the AI chat terms, with Decline as a full-size choice beside Accept. After that, the chat opens by name with suggested topics, so nobody faces an empty box, and past chats are one tap away. Wellness answers carry a fixed disclaimer, and when someone types too fast it says so plainly: "Give me a moment, you have been chatting fast." Many patients first hear from Jireh by SMS, so links in those messages open the chat with the SMS already shown.

Accept AI chat terms: a checkbox agreeing to Ask Jireh Health's Terms of Service and Privacy Policy, with Decline and Accept and continue buttons
Consent first The terms are agreed with a checkbox, and declining is just as easy.
Ask Jireh: a greeting that invites questions about your health records, a message box, suggested topics such as paying a bill and 0% interest loans, and a link to past chats
Ask anything Suggested topics for a first question, and past chats one tap away.

Testing with patients

To test in person, I split the patient app off into a standalone prototype. It runs in the browser on fake data and uses the same components as production, so what people test is what ships. A facilitator panel can drop a participant at any point in the journey (before their name, before ID, fully onboarded) and reset between sessions.