§ Projects

JiraniSoko

Django · React Native · M-Pesa Daraja · PostgreSQL

A neighbourhood marketplace for Kenyan urban communities. Listings, jobs, motors, and property, the categories people actually look for in places like Kilimani, Eldoret, or Kisumu. The pitch is local trust: posts come from your area, and payments go through M-Pesa rather than card rails most people don't have.

a strong backend and protected database with the M-Pesa Daraja API for STK Push and B2C disbursements. Mobile is onging The Android build is in beta; iOS follows.

Why this exists

Online listings in Kenya have always lived between WhatsApp groups and Facebook Marketplace, with all the trust and discoverability problems that implies. JiraniSoko is a stab at the right shape for a neighbourhood-first marketplace: posts come from a geofenced area, payments go through M-Pesa rather than card rails, and trust signals (verified phone numbers, ratings, dispute flow) sit at the centre of the design.

Stack

  • Backend: Django + DRF + PostgreSQL.
  • Mobile: React Native via Expo (EAS Build). Android first, iOS in progress.
  • Payments: Safaricom M-Pesa Daraja API. STK Push for buyer→seller, B2C disbursement for delivery payouts.
  • Observability: Error tracking and KPI dashboards.

What I learned

The gap between a feature working in a notebook and a feature that survives a Saturday afternoon of real users is enormous, and most of it is small operational things: rate limiting, idempotent payment callbacks, careful timezone handling, graceful degradation when a network handover drops mid-checkout. Almost none of it is the model code people pay attention to.

§ Quick facts
Year
2024
Status
In progress
Client
jiranisoko market limited
Role
lead engineer (backend, mobile, deployment)
Stack
Django · React Native · M-Pesa Daraja · PostgreSQL
Live
jiranisoko.co.ke
§ More work