StayNova
Full-stack marketplace · React Native
A rental marketplace for the Cameroonian housing market, built end to end — from Mobile Money settlement to a fraud-detection service.
- React Native
- Expo
- Node.js
- FastAPI
- PostgreSQL / PostGIS
- Redis
- BullMQ
- Firebase
- Google Maps API
- Cloudinary
- Users
- 200+
- Reconciliation paths
- 2
- Booking hold window
- 10 min
Problem
Housing search in Cameroon runs on WhatsApp threads and cash deposits, which makes listing fraud cheap and payment disputes near-impossible to resolve. There was no trustworthy booking primitive.
Approach
A React Native / Expo client over a core API, with BullMQ workers and a WebSocket layer for live booking state, and a separate FastAPI risk service scoring listings. Fraud detection combines logistic regression and random forest classifiers with perceptual hashing to catch re-posted listing photos. Payments go through MTN and Orange Mobile Money aggregators, reconciled by both webhooks and a poller, with 10-minute booking holds and a double-entry ledger so every cent has two sides.
Outcome
Reached 200+ users. The interesting engineering was the money path: idempotent webhook handling, a poller as the reconciliation backstop, and a ledger that makes disputes auditable instead of anecdotal.