I design and build point-of-sale systems for vertical retail operations, including coffee shops, parapharmacies, garages, and multi-branch retail businesses.
Experience
I’ve built POS systems for coffee shop franchises operating in Turkey and Tunisia, a vertical platform for parapharmacies (Parazone), and garage management systems handling parts inventory and service workflows.
In practice, the main constraint is not the technology stack—it’s understanding how actual retail operations work under pressure. A coffee shop during morning rush hour has different needs than a parapharmacy managing prescription tracking. What works in a stable internet environment fails in a location with intermittent connectivity.
The systems I’ve designed prioritize local-first operation because network failures are not exceptional cases—they’re regular occurrences. Syncing is the hard part, not the transaction itself.
Offline-First Architecture
Retail operations need systems that work without internet connectivity. I design offline-first architectures that handle inventory, pricing, and transactions locally, with intelligent sync mechanisms when connectivity is available.
The trade-off is complexity: local state must be the source of truth, which means conflict resolution becomes critical. In multi-branch scenarios, this gets harder. Centralized pricing works until a branch loses connectivity for hours and needs to apply a manual discount—then you need versioning and merge logic.
Fiscal Compliance
Different markets have different fiscal requirements. I build systems that handle local tax regulations, electronic invoicing, and fiscal printer integration, particularly for European and MENA markets.
What doesn’t work: trying to abstract fiscal requirements into a universal model. Tunisian fiscal printers require specific formatting and certification. European electronic invoicing has different validation rules. You can’t genericize this—you build for specific regulations and add new ones as discrete modules.
Payment Terminal Integration
Integration with local payment providers and terminals requires understanding both technical protocols and operational constraints. I’ve worked with various payment terminal systems across different regulatory environments.
The constraint is rarely the API—it’s the physical reliability of the terminal, the timeout behavior under poor connectivity, and how the system handles partial failures. A transaction can succeed at the terminal but fail to record locally. Recovery logic matters more than the integration itself.
Operational Constraints
Real retail operations have specific workflows, multi-user scenarios, shift management, and reporting needs. Systems must handle these practical requirements while remaining fast and reliable under real-world conditions.
In many projects, the operational workflow determines the architecture. A pharmacy needs batch expiration tracking and prescription validation. A garage needs VIN lookup and parts cross-referencing. These aren’t features you add—they’re constraints that shape the data model.
Multi-Branch Operations
For franchises and multi-location businesses, I design systems that handle centralized inventory management, pricing coordination, and consolidated reporting while respecting local operational autonomy.
The main trade-off: autonomy versus consistency. A franchise wants unified pricing, but a branch manager needs flexibility for local promotions. You can’t fully centralize without creating operational bottlenecks. You can’t fully decentralize without losing brand consistency. The system needs to encode business rules that reflect actual decision-making authority.