case study · marketplace · web + mobile
FungaDeal
Kenya's free classifieds marketplace — post anything, sell anything, boost it with M-PESA. Web platform and mobile apps from one codebase.
The brief
Classifieds in Kenya have long been dominated by platforms that charge listing fees or drown sellers in noise. FungaDeal's bet: free unlimited listings for everyone, monetised only where sellers get real value — visibility.
I built the full stack: the web platform, the REST API behind it, and the Flutter mobile apps. Posting an ad takes under a minute, and premium boosts pay through M-PESA with instant activation.
What I built
- Free unlimited listings — photo uploads, category taxonomy and location tagging, live in seconds.
- M-PESA premium boosts — featured placement and bump-ups paid via STK push, activated automatically on callback.
- Web + mobile — responsive web app plus Flutter apps for Android and iOS sharing one API.
- Search & discovery — category browsing, keyword search and filters tuned for low-bandwidth users.
- Seller profiles — public storefront pages per seller with all their live listings.
- Admin & moderation — report queues, listing takedowns, user management and platform analytics.
- Lifecycle automation — listing expiry, renewal reminders and boost scheduling as queued jobs.
Under the hood
A Laravel API serves both the web frontend and the Flutter apps, so features ship to all three surfaces at once. Payments go through Daraja with idempotent callbacks — a boost activates exactly once even when Safaricom retries. Images are compressed and served as WebP to keep the app usable on bundles.
Where it is now
FungaDeal is in production and growing — a real two-sided marketplace handling listings, payments and mobile users daily. It's the project I point to when people ask whether I can build "a platform", not just a website.
initiate
Like what you see?
Every project here started as a conversation. Tell me what you're building — I'll show you how it ships.