◉rex os
●building in public
● liveMobile · Web · FinTech

Zolarux Marketplace

Trust-first social commerce for the Nigerian market.

FlutterSupabasePostgreSQLNext.jsREST API
Zolarux Marketplace
// the problem

Nigerian social commerce has a trust problem.

Millions of Nigerians buy and sell through WhatsApp, Instagram, and Facebook daily. But there is no protection layer. Buyers send money and hope for the best. Vendors deal with chargebacks and fraud. Disputes have no structured resolution. The entire ecosystem runs on blind trust — and it fails regularly. Zolarux was built to change that.

// my role

What I built and owned.

I designed and built the entire platform solo — from the first Figma wireframe to production deployment. Every line of code, every database schema, every UX decision was mine.

✓End-to-end system architecture — database schema, API design, auth strategy
✓Flutter mobile app — buyer flows, vendor flows, escrow payment UI
✓Next.js web platform — product listings, vendor storefronts, buyer dashboard
✓Supabase backend — PostgreSQL schema, Row-Level Security, real-time subscriptions
✓Vendor onboarding — multi-step verification with document upload and review
✓Escrow payment flow — fund holding, release triggers, dispute escalation
✓Production deployment — Vercel, CI/CD, environment management
// architecture

How it's built.

Flutter handles all client surfaces. Supabase provides the backend — PostgreSQL for relational data, RLS for security, and real-time for live order updates. Firebase handles push notifications. Next.js powers the web platform. Everything communicates through a REST API layer.

Mobile & Web Clients
Flutter (Android)Next.js (Web)
API & Auth
Supabase AuthJWT tokensRow-Level Security
Database
PostgreSQLSupabase RealtimeStorage (documents)
Services
Firebase (push notifications)Vercel (deployment)GitHub Actions (CI/CD)
// key decisions
Supabase over a custom backend
RLS lets me enforce data access rules at the database level — a vendor can only see their own orders, a buyer can only see their own transactions. This security model would have taken weeks to replicate in custom middleware.
Flutter for cross-platform
One codebase for Android, iOS, web, and desktop. As a solo engineer, maintaining separate codebases was not viable.
Escrow at the application layer
Rather than integrating a third-party escrow service, I built the holding logic into the platform. This gave me full control over dispute rules and release conditions.
// screenshots

Walking through the product.

Marketplace Home

The buyer's entry point — the "Buy With Protection" banner immediately communicates the core value proposition. Product categories and featured listings are surfaced below.

Marketplace Home
Admin Control Center

The operations dashboard showing platform health — vendor verification rates, product activation, and order pipeline — all in real time.

Admin Control Center
// challenges & solutions

What was hard. How I solved it.

Designing escrow logic without a financial services background
// problem

I needed to build a system that holds funds, releases them on condition, and handles disputes — without ever having built financial software before.

// solution

I studied double-entry bookkeeping and broke the escrow flow into three discrete states: HELD, RELEASED, DISPUTED. Each state has explicit triggers and guards. The EscrowPay Engine formalises this further with atomic transactions and idempotency keys to prevent double-processing.

Building vendor trust without a legal entity
// problem

Convincing vendors to trust a new platform with no track record is hard. Convincing buyers to trust vendors on that platform is even harder.

// solution

Made verification visible. Every verified vendor has a badge. Every product listing shows verification status. The "Buy With Protection" banner on every page anchors the entire experience around safety. Trust is a design decision, not just a policy.

Row-Level Security at scale
// problem

Getting RLS policies right in PostgreSQL is genuinely difficult. Early in development, I had policies that were too restrictive — the admin dashboard couldn't read vendor data it needed to.

// solution

Separated user roles at the database level with distinct policies for buyer, vendor, and service_role. Admin queries use the service role key server-side only, keeping it off the client entirely.

// outcomes

Live and processing real transactions.

27+
Verified Vendors
100% verification rate
140+
Active Products
Live on the platform
100+
Transactions
₦2M+ processed since 2021
99%
Satisfaction
Completed-transaction buyers

Zolarux has been building since 2021 and went public nationally in February 2025 after a full revamp. Built solo — the platform is live, escrow-backed transactions are processing, and growth is steady.

// next steps

What's coming.

→Complete the EscrowPay Engine — formalise the financial layer with double-entry ledger and atomic transactions
→Launch iOS app
→Integrate local Nigerian payment gateways (Paystack, Flutterwave)
→Build vendor analytics dashboard — sales trends, conversion rates, review management
→Introduce a buyer review system to further build vendor accountability
// enjoyed reading this? check out all projects.
← All ProjectsWork With Me →