Food Loft
Food hall management and multi-outlet POS/ERP
The question
Can a browser point of sale read a stored-value card from a desk reader while the balance stays server-side, so a lost card is recoverable?
A multi-tenant platform for company-owned and partner food outlets, now serving 7+ outlets, with 24 Laravel modules, a Vue 3 POS, real-time updates over Laravel Reverb, and NFC stored-value card payments through a compiled Deno agent.
- 7+
- Outlets
- 24
- Modules
- 3 engineers
- Team
how it is put together
Problem
A food hall with company-owned and partner outlets needed one system for sales, kitchen operations, inventory and recipes, loyalty, promotions, settlement between the hall and its partners, reporting, and payment and delivery provider integrations.
Architecture
- 24 Laravel 12 modules with role-based access, audit logging, and per-tenant outlet scoping.
- A Vue 3 POS frontend with real-time order and kitchen updates over Laravel Reverb WebSockets.
- NFC stored-value cards: a single-file Deno executable on each cashier desktop reads MIFARE UIDs from an ACR122U reader over PC/SC and serves them to the browser on localhost; balances live server-side, so a lost card is recoverable.
What I built
Led a three-engineer team, owned the architecture and the module conventions, and wrote the NFC agent and its integration into the cash counter and POS flows.
Outcome
Serving 7+ outlets with NFC payments at the counter.
Connections
Other work that sits in some of the same fields. The overlap is what the map draws.