A comprehensive agricultural marketplace connecting smallholder farmers and bulk buyers across Nigeria — built with enterprise-grade ordering and a modern TypeScript stack.
The project
Farm Zone Africa is building the infrastructure layer for Nigerian agriculture — a marketplace where smallholder farmers can connect directly with buyers, and where corporate purchasers can source in bulk without traditional middlemen taking a cut.
MOW Designs built the entire platform from scratch: a React 19 + Vite + TypeScript frontend paired with a Node.js/Express/PostgreSQL backend, deployed on DigitalOcean. The scope covered dual-sided authentication, catalogue management, corporate bulk ordering, and a complete dark mode implementation throughout.
The standout feature: bulk and corporate ordering via Excel import, powered by ExcelJS. Enterprise buyers can upload purchase orders directly as spreadsheets — dramatically reducing friction for high-volume transactions without requiring them to learn a new interface.
Capabilities
Deliverables
The challenge
Smallholder farmers and corporate procurement teams have completely different mental models, vocabulary, and technical comfort levels. The platform needed to serve both simultaneously without simplifying to the point of uselessness for either.
Farmers need to list produce intuitively. Buyers need to browse, filter, and order efficiently. Two distinct flows built into one coherent interface.
Corporate buyers want to upload a spreadsheet — not learn a new tool. The Excel import feature made bulk ordering feel immediately familiar.
Full TypeScript across both frontend and backend added correctness guarantees — managed carefully to not slow development velocity.
Not every rural farmer has a Google account. OTP-based password reset was built as a first-class alternative to OAuth, not a fallback.
What we built
Google OAuth for instant sign-in plus OTP-based password reset — covering Nigeria's full user spectrum from urban professionals to rural farmers.
Corporate buyers upload purchase orders as .xlsx files. ExcelJS parses, validates, and creates bulk orders in seconds — no manual data entry.
Complete dark mode support persisted per user — covering every component, state, and edge case. Not just a colour inversion.
Separate dashboards and flows for producers listing produce and buyers browsing, filtering, and ordering — same codebase, distinct experiences.
Sub-second hot module reload in development and fast production builds with code splitting and lazy loading.
Containerised deployment on DigitalOcean App Platform with managed PostgreSQL — low ops overhead, high reliability, scalable to demand.
The outcome
Farm Zone Africa launched on schedule with both farmer and buyer flows operational from day one. The Excel import feature immediately reduced friction for corporate buyers and became one of the most-used features on the platform.