Services marketplace app
One Universe
A Flutter marketplace app that connects people in Nigeria with verified service providers, with escrow-held payments, in-app wallet and live location matching.

- 120
- Dart source files
- 22
- Data models
- 50+
- Screens
Overview
One Universe helps people find and pay for local services in a market that is largely informal. Buyers find providers near them, agree a quote, and pay through the app, where the money is held in escrow until the job is done and confirmed.
I built the mobile app in Flutter for both buyers and sellers: onboarding, verification, discovery, quotes, bookings, payments, chat and the seller toolkit, all on top of the product's REST API.
What I built
Verified buyers and sellers
Separate buyer and seller registration flows, with identity verification (NIN or BVN) and biometric login on the device.
Find providers nearby
Browse by category and filters, with Google Maps, geocoding and a location picker to match people with providers close to them.
Quotes, bookings and disputes
Service requests, quotes with renegotiation, work-progress tracking, and a dispute flow when a job does not go to plan.
Wallet and escrow payments
In-app wallet with top-up and withdrawals to bank accounts, and payments held in escrow until the buyer confirms the job.
Seller toolkit
A guided become-a-seller flow, service listings, ratings and reviews, subscriptions and sponsored placements, and bookmarked sellers for buyers.
Trust and safety
In-app chat, notifications, a referral programme, and a panic button with emergency contacts.
Engineering notes
- State and data handled with Riverpod, a typed model layer of 22 data models and a dedicated API layer for requests, payments and profile data.
- Image uploads go straight to Cloudinary; push notifications use Firebase Cloud Messaging.
- Role-aware app: the same codebase serves buyers and sellers with different onboarding, home content and tools.







