Skip to content
← All work

NaijaHustle

A Fiverr-style freelance and jobs marketplace built for Nigerians.

Role

Full-stack developer

Year

2026

Stack

React, TypeScript, Supabase, Flutterwave, Deno Edge Functions, TanStack Query, Sentry

NaijaHustle home screen on a phone: "Turn Your Skills Into Wealth" with Start Earning Today and Post a Job buttons

The problem

Nigerian freelancers and small businesses need somewhere local to buy and sell services, post jobs and get paid in naira. The hard part isn't the listings; it's trust: buyers need their money safe until work is delivered, and sellers need to know they'll actually be paid.

Approach

  1. 01Built both sides of the marketplace: gig listings and orders for buyers and sellers, plus a jobs board with applications for employers and talent.
  2. 02Integrated Flutterwave for card and bank payments, bank-account verification and subscriptions, all behind Supabase Edge Functions so no secret keys ever reach the browser.
  3. 03Added messaging, reviews, a blog and help centre, an admin dashboard, email notifications, and Sentry error monitoring.

Key decisions

Escrow instead of instant payouts

The full payment is held on the platform rather than split to the seller at checkout. A scheduled function settles completed orders only after a 7-day holding period, which leaves room for disputes and refunds.

A webhook you can't fake or replay

Every Flutterwave webhook must carry the secret hash, compared in constant time so it can't be guessed by timing. The transaction and amount are then re-verified with Flutterwave's API, and processing is idempotent, so duplicate deliveries are safe.

Trust enforced in the database, not the UI

A security pass removed the ability for users to update their own payment rows (which would have let someone mark an order paid without paying), and moved review eligibility into Postgres: you can only review someone you've actually completed an order or job with.

Outcome

Live at naijahustle.com: a two-sided marketplace with real payments, escrow and payouts, hardened so that the rules the UI shows are the rules the database enforces.

  • 7-day

    escrow before sellers are paid

  • 11

    server functions for payments and email

  • 26

    pages: gigs, jobs, orders, messages, admin

Next projectZWCC Business Grant