Saving lives starts with a faster message. So we made the message smarter.
The call
In Mauritania, urgent blood requests travel through WhatsApp the way news travels through a village — a hospital posts a need, the message hops across dozens of groups, and a patient's family spends hours sifting screenshots. There's no donor registry, no way to verify a blood type, no recall when the request is resolved. An O- patient can sit waiting while compatible donors a few kilometres away never see the ask.
The team building Munkidh — Arabic for rescuer — came to us with three non-negotiables. The product had to live on WhatsApp, not behind an app install. It had to read natively in Arabic, right-to-left, end to end. And every donor had to be verifiable.
What we did
We built a matching engine, not a broadcast list. A request goes only to donors whose blood type is compatible, who live near enough to help, and whose 90-day recovery window has cleared. Eligibility is automatic; nobody has to remember the rules.
WhatsApp stays the surface. Invitations, alerts, confirmations, even the gentle nudges to give back when someone has received — all delivered as messages, with the tiny bidi fix we discovered the hard way (Arabic message bubbles will silently break a Latin URL if you don't mark it). A companion Expo app handles the committed donors who want a richer surface.
Around all of that: a quiet reciprocity loop. When you receive blood through Munkidh, the system remembers. When you're eligible to give back, it asks.
Where it sits now
Live, matching requests in minutes instead of hours, and quietly closing the giving cycle one donation at a time. The first product in the country to track blood-debt rather than treat each donation as a one-off.
Next.js, Expo, Drizzle on Neon Postgres, WhatsApp via WahaSend, Inngest for the background work.
