Verified informal-services marketplace for Kenya with M-PESA escrow — Flask API + React 19 client
# Fundi Connect
> **Verified informal-services marketplace with M-PESA escrow** for Kenya and East Africa.
Fundi Connect bridges the trust gap in Kenya's informal (*jua kali*) economy. It connects households and businesses with verified craftspeople — plumbers, electricians, phone and appliance repair techs, carpenters, masons, painters, mama fua, welders — backed by identity verification, geo-search, transparent ratings, and **automated M-PESA escrow protection**.
The trust anchor is the escrow: a customer's money is locked with the platform, not handed to the fundi, and is only released when the customer confirms the job — or when an admin arbitrates a dispute.
---
## Live demo
| Surface | URL | Status |
|---|---|---|
| **Web app** (Vercel) | | Live |
| **API** (Render) | | Live |
| **API health** | | Live |
| **Repository** | | Public |
> **First load can take ~50 seconds.** The API runs on Render's free tier, which sleeps after 15 minutes idle; the next request wakes it. Once awake it is fast.
>
> The public demo runs with **simulated M-PESA payments** — the app says so in a banner, and `/api/health` reports `"payments": "simulated"`. No real money moves.
### Demo accounts
All seeded accounts use the password `fundi123`.
| Role | Email |
|---|---|
| Customer | `sarah.kimani@gmail.com` |
| Fundi (plumber) | `john.mwangi@fundi.co.ke` |
| Fundi (electrician) | `otieno.sparks@fundi.co.ke` |
| Admin | `admin@fundiconnect.co.ke` |
---
## Key features
1. **Verified fundi profiles** — national ID verification reviewed by an admin, skill catalogue, service radius, ratings, and profile photos.
2. **Geo-location search** — find nearby technicians by estate (Kilimani, Westlands, Eastleigh, Roysambu, Karen) or GPS distance, with a SQL bounding-box prefilter refined by the Haversine formula.
3. **Flexible job matching** — book a fundi directly, or post a job and compare competitive quotes.
4. **M-PESA escrow** — STK Push locks the customer's funds; the fu …