What it does
A point-of-sale running in real shops, built once in Flutter and shipped to Windows desktop and iPad from the same codebase, with Android and macOS targets in the same repo.
The sale screen is a category and product grid with barcode or name search, live order lines, running subtotal and tax, and one-tap tenders. Payments can be split across cash, Visa, Mada, Tamara and delivery-platform accounts, with change and remaining balance tracked live. Closed orders record open and close times, the cashier, the check number, the source terminal, and every payment against the bill with its own timestamp. The back office covers day summary, sales, products, deliveries and custodies reports, plus printers, users, expenses, devices, customers and loyalty points.
The part I would show a sceptical client
The till keeps taking payments when the internet drops. Every sale is written locally first, and the back-office header shows exactly what has not reached the server yet: “orders awaiting upload: 2”, last upload time, with push and pull controls. That header is the sync layer made visible.
What else is in there
- ESC/POS thermal receipt printing with correct Arabic column widths.
- Egyptian ETA electronic invoice generation, with amounts written out in Arabic words.
- Socket.IO keeping several tills and a back office in agreement in real time.
- NTP time sync so receipt timestamps survive a wrong system clock.
- A promotions engine applying fixed and percentage discounts at line and basket level.
- On-site PDF reports. Full RTL throughout.
Why it is in this portfolio
It is the least glamorous project here and the best evidence of what I am actually useful for. Nobody hires a Flutter developer for thermal printer column widths or reconciliation after a shop loses its connection mid-shift. But an app that has to work every day, offline, in Arabic, on a receipt printer, in front of a queue of customers, is the kind of problem that separates people who ship from people who demo.



