The opening claim
Jumia left Algeria in December 2022. What it left behind was not a gap in the market. It was a country of merchants who had gotten used to selling online and were suddenly handed back their phones.
So they sell in Instagram direct messages. A customer comments "prix?", the seller replies, they trade eleven messages about size and colour and wilaya, and somewhere in that thread is a phone number the seller copies into a paper notebook. Then he calls a delivery company, reads the address out loud, and writes a tracking number next to the name.
That is the state of the art for a working Algerian merchant in 2026. It functions at ten orders a day. It collapses at fifty, and it collapses in a specific way: not by breaking, but by eating every hour the owner has.
The mechanism 🧠
Watch where the four hours actually go. It is not selling. It is transcription.
The same customer detail gets written by hand somewhere between four and six times. Once in the DM thread. Once in the notebook. Once in the delivery company's dashboard. Once on the parcel label. Once again in whatever tally the owner keeps to figure out if he made money this week. Every one of those transcriptions is an opportunity to transpose two digits of a phone number, and a wrong phone number in a cash on delivery market is not a minor error. It is a parcel that ships, travels, fails to deliver, and comes back at the merchant's expense.
Now the second mechanism, and this is the one that actually decides whether an Algerian ecommerce business survives: return to origin. In a prepaid market a failed delivery is an inconvenience. Here the merchant has already paid to ship a physical object across the country, and if the customer does not answer or refuses at the door, he pays again for the return leg and gets the product back, possibly damaged, with zero revenue against two delivery fees.
RTO in Algeria is not a rounding error. Merchants I work with describe rates in the twenty to forty percent range depending on category and how the order was captured, and the driver of that range is almost entirely order quality. An order captured from a serious buyer who confirmed his address survives. An order captured from a one word DM comment at midnight often does not.
So the actual product problem is not "build a storefront". Any template does that. The problem is: capture the order in a structured form, confirm the human on the other end is real and still wants it, and hand the courier clean data so the parcel arrives on the first attempt.
That is why the storefront and the tracking have to be the same system. A storefront that dumps orders into an inbox has just moved the transcription problem, not solved it.
Comparative Breakdown
| Dimension | Selling in Instagram DMs | A real storefront with tracking |
|---|---|---|
| Order capture | Free text across eleven messages | Structured: product, variant, address, wilaya, phone |
| Where the customer lives | In a thread that scrolls away | A row you can query |
| Phone number accuracy | Retyped by hand four to six times | Entered once by the buyer himself |
| Confirmation | The seller calls, sometimes | Automated confirmation before a label prints |
| Courier handoff | Retyped into the courier dashboard | Parcel created over the courier API |
| Tracking | A number written next to a name | Attached to the order, visible to the buyer |
| Owner time per order | Minutes | Seconds |
| Ceiling | Roughly fifty orders a day | Limited by stock, not by typing |
| RTO driver | Unverified impulse orders | Confirmed orders with clean addresses |
| What the owner sees weekly | A notebook and a feeling | Revenue, RTO rate, cost per delivery |
The Algerian reality
Everything above only works if you accept three constraints that Western ecommerce platforms refuse to accept.
Cash on delivery is not a payment method to migrate away from. It is the market. Roughly nine in ten orders are collected at the door. Card penetration exists, CIB and Edahabia are real, Chargily makes online collection technically possible, and I have integrated it. But building a platform that assumes prepayment is building for a customer who does not exist here yet. COD is not a legacy inconvenience, it is the trust mechanism the entire market runs on, and it is rational: the buyer has no realistic recourse if the parcel never comes, so he refuses to pay first.
The couriers are the infrastructure, and they have APIs. Yalidine, ZR Express, Maystro and Noest between them cover the country, and at least some of them expose real programmatic interfaces. Yalidine's is genuinely usable and documented. This is the single most underrated fact in Algerian ecommerce: you can create a parcel, attach it to an order, print a label and poll status without a human retyping anything. Most merchants do not know this, because nobody built the layer that uses it.
The economics matter here. A delivery to a nearby wilaya runs in the several hundred DZD range, more for the far south, and the merchant is usually paying both legs when an order fails. On a product with a 1,500 DZD margin, a single RTO does not reduce your profit, it erases the profit of two successful orders. Cutting RTO from thirty percent to twenty percent is worth more than a ten percent increase in traffic, and it is far cheaper to achieve.
The seller is on a phone, in Arabic, on a mid range Android, on a connection that drops. Not a desktop, not fibre. A dashboard that assumes a laptop is a dashboard that does not get used. Right to left is not a translation setting bolted on at the end, it is the layout the majority of your users will actually see. Anything you build that works beautifully on a MacBook in Algiers and badly on an Oppo in Sétif has failed.
There is a fourth constraint that is social rather than technical. Merchants do not trust platforms, because platforms have taken cuts and then disappeared. That is why WovenDZ takes zero commission on sales and why the seller keeps a link that carries his own name. The moment a merchant feels the platform is between him and his customer, he goes back to the DMs, and he is right to.
What to actually do 🛠️
This is the build order I would follow, and roughly the one I did follow.
One: make the order structured before you make it pretty. The first real feature is not a theme engine. It is a checkout that captures product, variant, quantity, full name, phone, wilaya, commune and address as fields, from the buyer's own thumbs. Every downstream problem gets easier once the data stops being prose.
Two: put the confirmation step before the label, not after. The cheapest RTO reduction available is refusing to ship an unconfirmed order. Automated phone or SMS confirmation, with the parcel only created once the buyer confirms, converts a category of guaranteed loss into a category of no cost. This single mechanism pays for the platform.
Three: integrate one courier properly rather than four badly. Pick the one with the best documented API, create parcels over it, store the tracking reference on the order, poll status and surface it to both sides. Add the second courier only when the first is boring.
Four: give the seller a link with his own name on it, not a listing inside your marketplace. wovendz.com/amel is his shop. He shares it in the bio where the DMs used to land. The migration path from Instagram selling is not "abandon Instagram", it is "keep Instagram, but end the thread with a link instead of a phone number".
Five: make stock atomic on checkout. Two customers buying the last item is not an edge case at scale, it is Thursday. Decrement inventory inside the same transaction that writes the order, or you will be apologising to a real person.
Six: show him the number that decides his business. Not vanity metrics. RTO rate, delivery cost per order, and net after courier fees. Most merchants have never seen their own RTO rate as a number, and seeing it changes behaviour immediately.
Seven: build for the phone first, in Arabic, and test on a cheap device. If it is not fast on a mid range Android over a mediocre connection, it does not work, regardless of what your laptop says.
TL;DR 🧾
Algerian ecommerce is not blocked on payments. It is blocked on order quality. Structured capture plus confirmation before dispatch plus a courier API equals a business that scales past the owner's typing speed, and every point of RTO you remove is worth more than the traffic you were about to buy.
LINKEDIN VERSION
Jumia left Algeria in 2022 and handed the market back to Instagram direct messages.
Here is what selling actually looks like now. A customer comments "prix?". Eleven messages later the seller has a phone number, which he copies into a paper notebook, then retypes into a delivery dashboard, then writes on a label. The same customer detail gets handwritten four to six times before the parcel moves.
That works at ten orders a day. At fifty it eats every hour the owner has.
And the transcription is not just slow, it is expensive. A wrong digit in a phone number in a cash on delivery market is not a typo, it is a parcel that ships across the country, fails, and comes back at the merchant's cost. Return to origin here runs anywhere from twenty to forty percent depending on category, and the biggest driver is order quality. A confirmed buyer with a clean address arrives. A one word DM comment at midnight often does not.
So the real problem was never "build a storefront". Templates do that.
The problem is capturing the order as structured data, confirming the human is real before a label prints, and handing the courier clean fields over an API. Yalidine, ZR Express, Maystro and Noest have interfaces. Almost nobody uses them.
Cutting RTO from thirty percent to twenty is worth more than ten percent more traffic, and it costs far less.
That is what I am building.