01 · The challenge
What needed solving
A multi-branch East African retailer was running each shop on a different stack — one on a Windows desktop POS, two on cash registers, head office reconciling totals from WhatsApp photos of end-of-day tapes. Shrinkage was untraceable and stock transfers between branches were happening on paper.
02 · Our approach
How we framed the work
We started with a discovery sprint to map the user journey, business goals and real constraints. From there we wrote a fixed-scope plan: clear milestones, weekly review gates on a staging URL, and a written exit criterion for every phase. The web development space rewards teams that ship — not teams that plan — so we biased the engagement towards working software from week two onward.
03 · The solution
What we built
We delivered a Laravel POS (wMauzo — "mauzo" is Swahili for sales) with a Swahili-first UI tuned to the cashier workflow at the till. Multi-location stock is modelled so transfers between branches debit and credit instantly, supplier ledgers track payables per vendor, and every shift closes with a structured cash reconciliation report. Built on a Blade SSR frontend so the system runs reliably on the low-end Android tablets the shops use at the counter.
04 · The results
What changed for the client.
Head office reconciles all branches from one dashboard instead of WhatsApp tapes
Stock transfers between shops are tracked atomically — shrinkage is now visible
Cashiers operate the till in Swahili — training time for new hires cut to a single shift
Tech stack
Want a similar outcome for your business? We'd love to hear about it.