illustrative mock · real screenshots to come
POS & ERP for food and beverage
A multi-tenant SaaS platform for food and beverage businesses: point of sale, bookings, inventory, and warehouse. One backend, many tenants, and a UI that has to hold up on a phone and a tablet during a rush.
- My role: I own the Flutter client. One codebase serves phones and tablets, with every tenant isolated end to end.
- Shipped the cashier module (catalog, cart, tax, several payment methods, optimistic stock deduction), inventory and warehouse (requests, approvals, delivery notes, transfers, receipt reconciliation), user and role management, and booking.
- Built permission-driven dual workspaces, so warehouse staff and outlet staff each see only the features and locations they are cleared for.
- Centralised the networking layer around auth, automatic token refresh, tenant scoping, and error normalisation, which kept integration predictable while the backend contract kept moving.
- Cut perceived load times by roughly 30% on low-end Android phones through lazy rendering, cached network images, repaint isolation, and granular rebuild control.
- Reduced crashes and feature downtime by about 20% by hardening async lifecycle handling and realigning data models with backend changes.
- Stack: Flutter, Dart, layered architecture, shared component library, REST API.
private repo · client work in active development