Nigerian business discovery and ordering platform, 2,200+ businesses, zero paid acquisition
NaijaBased is a business discovery and ordering platform for the Nigerian market. Customers use it to find local businesses, browse digital menus via QR code, and place orders (pickup, delivery, in-person, or home visit) and pay via Paystack. Business owners list their businesses, set up menus, manage orders, and withdraw earnings. It covers 15+ Nigerian states across 12 business categories and grew to 2,200+ listed businesses entirely through organic SEO, with no paid acquisition.
The platform has two sides: a consumer-facing discovery and ordering experience, and a vendor portal where business owners manage their operations. Both have gone through two major phases.
V1 was a PHP monolith with eight modules: business listings (the core), jobs, events with Paystack ticket sales, a marketplace for buying and selling items, community groups with their own sub-platforms, professional portfolio pages, a social feed with hashtags and follows, and a referral and points system. The vendor side was a separate portal at shop.naijabased.fun with three distinct dashboards depending on business type: restaurant/food, retail/store, and service. The bonus system rewarded vendors for hitting monthly revenue milestones, with Bronze, Silver, and Gold tiers paying out up to 10,000 NGN for hitting 200,000 NGN in monthly revenue.
V2 is a Next.js 16 rewrite that focused the product on what was actually driving value: business discovery and ordering. The jobs board, events, communities, marketplace, and social feed were removed. The backend remains a PHP REST API, and the vendor portal also moved to Next.js with a unified dashboard replacing the three separate V1 dashboards. The vendor portal in V2 handles order management, menu and product management, customer tracking, scheduling, analytics, wallet, and withdrawals, regardless of business type.
Consumer site V1 used PHP with session-based auth, vanilla JS, and AJAX handlers. The database is MySQL on Namecheap hosting (falkdnmx_naijabased). Paystack handled payments. Brevo SMTP handled email. Mocean handled SMS. Business profiles had sitemap entries generated for SEO.
Consumer site V2 is Next.js 16 with React 19, TypeScript, and Tailwind CSS 4. The backend is the same PHP REST API at /api/v1. Auth uses JWT tokens stored in an httpOnly cookie (nb_token). ISR handles caching with 60-300 second revalidation per page type. Business profiles use Schema.org LocalBusiness structured data for SEO.
Vendor portal V1 had three separate dashboard codebases for restaurant, retail, and service business types. Each had its own order flow, menu management, and analytics pages. Paystack subaccounts handled per-vendor settlement so vendors received payments directly rather than through a platform wallet.
Vendor portal V2 is also Next.js 16 with React 19, proxying all backend calls to the PHP API at the same database. The unified dashboard handles all business types: orders, bookings (appointments), menu items and categories, customer records, analytics, payment settings, schedule, wallet, and withdrawals.