A distributed-team build story about payments, logistics, and the discipline of a lean production MVP in an emerging market.
Most case studies about offshore delivery skip the part that actually matters to a founder: whether the thing shipped, whether real customers can pay, and whether the team stayed reachable while it happened. This one is about a store that went live and takes orders today. The brief was narrow and the constraints were real, which is exactly why it makes a useful example of how a distributed team operates when the goal is a working business rather than a demo.
The client wanted a genuine-leather marketplace for the Nigerian market: a place to sell leather sheets and hides, leather by the yard, shoemaking leather, and bag-grade material to artisans and small manufacturers. The result is NigerianGenuineLeather.com, a production storefront with a live catalogue, honest grading on every product, and a checkout that takes real money. What follows is how the work was scoped, staffed, and delivered.
The founder came in with a clear commercial thesis and, sensibly, a small budget for version one. The temptation on any e-commerce project is to build the platform you will need in year three: multi-vendor onboarding, loyalty tiers, a recommendation engine, an app. We argued for the opposite. The first release had one job, which was to let a buyer find a leather product, trust the grade, and pay for it without friction.
So the initial scope was cut to the bone. A browsable catalogue, product photography with honest condition grading, a cart, a single reliable payment path, and an admin panel the owner could actually run without a developer on call. Everything else went onto a later list. That discipline is not a cost-saving trick. It is the difference between a store that opens this quarter and a project that is still in staging when the market moves.
Cutting scope well requires knowing the domain. Leather is sold in units that do not map cleanly onto generic shopping-cart software. Hides are priced whole or by the square foot, some stock is sold per yard, and grade affects both price and buyer expectation. Getting the product model right early, rather than bolting variants onto an off-the-shelf theme, saved a rebuild later.
A distributed team's instinct is often to reach for whatever framework the team enjoys. We resisted. The store runs on plain PHP 8 and MySQL. That choice raised eyebrows in exactly the way you would expect, so it is worth defending.
The owner needed a platform that any competent local developer could maintain, that would run cheaply on ordinary Nigerian hosting, and that would not fall over when a heavier JavaScript build met an intermittent connection. A lean server-rendered stack loads fast on mid-range Android phones over mobile data, which is how most of the audience browses. It has almost no build tooling to break, and it hands the client a codebase they are not locked out of. Picking boring, well-understood technology was the senior decision here, and the day-to-day build was carried out with our Nigeria-based delivery partner Musskart, who knew the local hosting and payment landscape first-hand.
The catalogue itself is the heart of the product. You can see how the grading and unit-pricing decisions play out on the live leather products shop page, where each listing carries its grade, its unit, and real photographs rather than stock imagery. That transparency was a deliberate trust mechanism, not a design flourish, and it shaped the data model underneath.
In an emerging market, the payment integration is where most stores quietly fail. Card penetration is uneven, buyers are cautious about paying strangers online, and a single failed transaction can lose a customer permanently. We built the store around Paystack, the payment processor with the deepest local reach, and around a blunt commercial rule the founder chose deliberately: one hundred percent prepayment.
That rule sounds aggressive to a Western founder used to pay-on-delivery expectations, and it was debated. But cash-on-delivery in this category means holding expensive, cut-to-order stock for a buyer who may never appear at pickup. Full prepayment through a trusted local gateway, combined with visible free pickup options at the physical warehouses, turned out to be the honest trade. The customer commits, the merchant cuts and ships, and neither side is exposed. Encoding a real commercial policy into the checkout flow is the kind of decision a team only gets right if it understands the business, not just the API docs.
Practically, that meant handling Paystack's webhook confirmations carefully, treating an order as paid only on verified server-side callback, and designing the failure states so an interrupted payment never leaves a customer unsure whether they have been charged. On a shaky connection, that ambiguity is the enemy.
Shipping in Nigeria does not look like shipping in the UK or Canada, and pretending otherwise breaks a store on day one. There is no single dominant national courier that a plugin can simply call. What there is, and what the business runs on, is the mass-transit network: the long-distance bus and haulage lines that move parcels between cities reliably and cheaply.
The store was built around that reality rather than against it. It operates from two warehouses, in Onitsha and Aba, offering free local pickup at both and nationwide delivery via mass transit. That is not a limitation dressed up as a feature. It is how goods actually move in the country, and buyers understand it instantly. Understanding the ground truth produced a fulfilment model the operator can run today, sourcing hides from the tanning centres in Kano, Sokoto, Zaria, Aba, and Onitsha and dispatching them by routes that already work.
For a distributed team, the lesson generalises. You cannot design logistics for a market from a slide deck. Someone on the team has to know how a parcel gets from a warehouse in Aba to a shoemaker three states away, and that local knowledge has to reach the product before launch, not after the first angry support message.
The reason a founder outside Nigeria could build a Nigeria-specific store is that the delivery was structured around timezone-matched collaboration rather than the fire-and-forget offshore model people rightly fear. Working in the client's hours meant decisions that would otherwise stall for a day, such as how to handle a grade dispute or which pickup wording reduced confusion, got resolved in a single conversation.
The build ran in short, visible increments. Catalogue and product model first, then the admin panel so the owner could load real stock, then checkout, then the customer-facing polish of live chat and WhatsApp contact so buyers could ask a human before committing to prepayment. Each increment was something the client could see and use, which kept the feedback grounded in the real store rather than in abstract requirements.
That cadence is what makes distributed delivery credible. The client was never handed a black box. They watched the lean MVP come together increment by increment, corrected course while corrections were cheap, and ended up with a codebase and an operating model they own outright.
The finished store is deliberately modest and completely real. Buyers browse a graded catalogue, pay in full through a trusted local gateway, and collect from a warehouse or receive delivery by the transit network that already threads the country together. The owner runs it from an admin panel without needing an engineer on standby.
None of that is glamorous, and that is the point. Shipping a working business in an emerging market is a discipline of subtraction, local knowledge, and staying in the room while the hard decisions get made. A distributed team can do it well when it treats payments and logistics as core product rather than integration afterthoughts, matches the client's timezone instead of hiding behind an offset, and has the confidence to ship something lean and true rather than large and unfinished. That is the model behind this build, and it is the model we bring to the next one.