Point of sale for 200+ retail stores across the Gulf
The problem
Eyewa is one of the largest eyewear retailers in the Middle East, with 200+ physical stores across the Gulf. Every sale, every prescription order, every exchange runs through the point-of-sale system — on store hardware, on store networks, operated by staff whose job is selling glasses, not troubleshooting software.
A POS is an unforgiving product surface. An e-commerce page that takes an extra second loses a conversion; a POS that takes an extra second has a physical queue of customers watching a cashier apologize. There is no "try again later" at a till.
What I own
As the technical lead for the POS frontend, I'm responsible for the architecture and delivery of the app that stores run every day: the checkout and order flows, prescription capture, payments integration, and the release process that ships changes to hundreds of stores without breaking a single trading day.
The recurring themes:
- Resilience over elegance. Store networks drop. Payment terminals time out. Printers jam. The app's job is to degrade gracefully and never lose a sale that's in flight — which shapes everything from state management to how optimistically the UI is allowed to behave.
- Fast on unremarkable hardware. Stores don't run flagship machines. Performance budgets are set against the slowest device in the fleet, not the developer's laptop.
- Operationally boring releases. With 300+ stores depending on one codebase, deploys are staged, observable, and reversible. The most important feature of a POS release is that nobody in a store notices it happened.
What it taught me
Consumer web performance work is about percentiles and funnels. Retail systems work is about floors: the worst experience any store has today is the number that matters. It permanently changed how I think about error states — not as edge cases to handle, but as the primary states to design for.
A deeper technical write-up (offline strategies, sync conflicts, payment-terminal state machines) is coming as a full article.