Case 01 · Masdary, Stoneslane · 2025–2026
From licensed to owned: the Masdary cut-over
I made the build-vs-buy case to management for dropping the white-label ordering app, then ran the cut-over to our in-house app. It moved nearly all orders and ended the license.
Masdary sells wholesale to shops in Aden, Yemen. It started on a licensed white-label ordering app (Bizom). Shops, often through a field rep, placed orders there, and timer-based syncs carried them into our Odoo ERP. This is how we replaced it with an app we own, without stopping the orders that pay for everything.
The problem
The app was built for a general market, and we kept running into its edges.
- The product did not fit. It was a catalog with ordering attached: long tap paths, weak search, and new shops waiting for approval from the vendor’s administrator.
- Arabic came second. The bilingual experience was inconsistent, and our Arabic-first customers felt it.
- It assumed good networks. Pages loaded slowly on poor connections, and nothing was cached for offline use. In Aden, that is the normal case.
- We could not change it. Features arrived at the platform’s pace, our competitors could use the same product, and the architecture was not ours to change. We were also exposed to the vendor’s pricing, and the license was a large recurring cost.
- The integration leaked. Several systems were joined by timer syncs, which left windows where a shop could order stock that had already sold and have the order rejected later.
The decision: build, not redesign
There were three options: stay as we were, redesign inside the platform, or build our own. A serious redesign inside the platform would have taken about as long as a new build, and a new build let us choose the architecture from the first day. I made that case to management, with the architecture and a migration plan built on three rules: run the new app alongside the old one, move shops over gradually, and keep data in sync throughout.
How we de-risked the switch
- One system of record. Odoo stayed the ERP. The bridge I had built from the licensed app into Odoo kept the old channel’s orders flowing, while the new app’s orders arrived on their own path. Every order carries its source, so the switch could be measured week by week.
- Shops moved before they arrived. Existing shops and their order history were migrated into the new system ahead of time, with a migration that was safe to re-run without duplicating anything.
- Ship early, open later. GitHub Actions ships the app to both stores. It reached the App Store in April 2026, months before we asked shops to switch, so store review never held up the switch.
- A backend that does not wait for the ERP. Orders are created at once in Firebase and synced to Odoo in the background. Stock is held briefly, and an order that cannot be resolved goes to a review queue for the operations team instead of failing in front of the shop.
- Nudges, not a deadline. The download link now points to the new app. A shop that still orders through the old app gets a WhatsApp invite to switch, rate-limited, and built so that a failed message can never block the order itself. The team added an onboarding tour inside the app.
- Watch the crossover. Reports in Odoo track adoption, sales by channel, and shops that went back to the old app after ordering on the new one, so we knew who to call.
- Fix production fast. Real use in Aden exposed how the app behaved on lossy links. That fix is its own case: Built for good networks, shipped to bad ones.
What I did as the lead
I made the build case, designed the architecture, and owned the product: the epics, the phased release plan and the first commit. The team built most of the app. I hired that team from zero, and no one has left. Before the team joined, I built the bridge from the licensed app into Odoo on my own. For the cut-over itself I built the tooling that moved shops and measured the move: the download redirect, the WhatsApp invites and the adoption reports. I started the shop migration, and the team finished it.
What changed
Between July and September 2026 nearly all orders moved to our own app. In September we switched off the old integration, and the license ended. Shops now order on an app the company owns, in Arabic and English, released on our schedule, and it is the main order channel.
What carried forward
The same team now builds HSA Group’s super app, and the network design from Masdary is built into it. The source tag on every order still drives channel analytics, and the invite system now runs win-back campaigns.