Kekeh Mac



Story
Kekeh Mac is a ride-hailing and delivery platform for Freetown, Sierra Leone. It is in a pilot, limited release. I led the build, from the first schema to the apps, with two other developers contributing smaller pieces.
The goal
Give Freetown one platform for rides, deliveries and shared trips, and give its drivers the financial tools they rarely get.
Real-time dispatch
Drivers connect over Socket.IO and push their location into a Redis geospatial index. When a passenger requests a ride, the API finds nearby drivers from that index and offers the job. A Redis lock makes sure only one driver can accept it.
Carpool and intercity trips needed a different model. Matching a rider's pickup and dropoff to a trip's two endpoints missed everyone in the middle of a route, such as a town the driver passes straight through. I changed search to measure against the line the trip actually travels, so riders along the corridor now see it.
Two apps, one platform
There are two Expo apps, one for drivers and one for passengers, plus a React admin panel for operations staff. All of them talk to a single NestJS API on PostgreSQL. The apps share design, translation and API-client packages from one Turborepo monorepo, so a change to a screen or an endpoint lands everywhere together.
Money for drivers
Each driver has a wallet that records every earning, commission and payout. On top of it sit savings goals, micro-loans and advances, and insurance. The platform funds the loans and insurance, and the commission rate is a setting, not a number in the code. Money moves in and out through Monime, a mobile money provider. Every movement is a ledger entry, so any balance can be traced to the events behind it.
Built for Freetown
Safety features include an SOS screen, emergency contacts who are alerted over WhatsApp, and trip-share links a passenger can send to anyone. Booking also works through a WhatsApp assistant. The apps are set up for translation, and Krio is the next language, though that copy is still to come.
Stack
TypeScript throughout: Expo and React Native, NestJS, React with TanStack, PostgreSQL with Drizzle, Redis, Socket.IO and Graphile Worker. It runs on DigitalOcean App Platform with managed Postgres and Valkey.