Flavourz Restaurant & Cafe — Custom Offline-First POS Platform

Multi-branch restaurant POS — one codebase running as web admin, Windows desktop (offline-capable) and Android tablets, with bidirectional on-prem ↔ cloud sync.

Project Type: Web Apps
Platform: Laravel 12 + React 18 + Tauri v2
Tech Stack: Laravel 12, PHP 8.2, React 18, TypeScript, Vite 6, Tailwind 4, MySQL, SQLite, Tauri v2 (Rust), FrankenPHP, Reverb (WebSockets), Sanctum, Spatie, DomPDF, Zustand, TanStack Query
Year: 2024 – 2026
Flavourz Restaurant & Cafe — Custom Offline-First POS Platform

Project Overview

A full-stack, multi-branch restaurant POS built from scratch for a Pakistani café — one codebase running as a web admin, a Windows desktop terminal that works with no internet, and Android tablets on the floor, all kept in sync between the restaurant's own server and the cloud. The desktop build embeds FrankenPHP + Laravel + SQLite inside one Tauri installer, so each terminal is a fully self-sufficient server when it needs to be. A bidirectional, event-sourced sync engine keeps the on-prem server and the cloud continuously in agreement — no end-of-day exports, no "sync now" button. Cash settlement runs in under a second on the busiest till; kitchen tickets reach the right thermal printer over a queued WebSocket print agent that can't silently lose or duplicate a ticket. Built around the real operational reality of a Pakistani café: load-shedding, flaky connectivity, cash-heavy operations, multiple counters firing at once, regulars running a tab, and dinner-rush readability.

Client
Malik Ghulam Ali — Owner, Flavourz Restaurant & Cafe
Industry
Food & Beverage · Hospitality · Pakistan

The Challenge

A Pakistani café POS has to survive conditions most commercial POS products quietly assume away: power cuts and network drops, several counters ringing at once, cash-heavy operations, kitchen-rush readability, regulars on credit, and multiple branches that have to roll up centrally. Imported SaaS POS products assume perfect internet, card-first customers, and a single till — none of which holds. Malik's brief was practical: keep the counter moving no matter what, give the kitchen unambiguous tickets, track regulars who run a tab, and hand him a trustworthy picture of cash and credit at close of every shift.

What I Built

  • Multi-counter cashier UI with menu grids, portions, modifiers, weight/open-amount pricing, instant Quick-Cash settlement
  • Multi-branch architecture — every resource scoped per branch with central rollup
  • Kitchen Display System (KDS) with Pending → Preparing → Ready workflow grouped by station
  • ESC/POS thermal printing pipeline — bills, KOTs, and receipts routed to the correct printer via a queued, idempotent print queue
  • Offline-first desktop terminal — Tauri v2 + embedded FrankenPHP + full Laravel app + local SQLite, all in one Windows installer
  • Bidirectional on-prem ↔ cloud sync — event-sourced, sequenced sync_events per branch, monotonic ordering, automatic reconciliation
  • WebSocket print agent (Laravel Reverb) — print jobs broadcast and atomically claimed by the right device on the LAN
  • Split payments across methods, per-item payment tracking, cash-drawer control, refunds
  • Customer credit system — credit sales, payment collection, outstanding balance, printable account statements (Date / Debit / Credit / Balance)
  • Inventory with batch tracking, expiry dates, low-stock alerts, wastage recording, stock valuation
  • Floor plans, reservations, waitlist with seat/notify/no-show flows
  • Work periods (shifts) with cash reconciliation, cashier reports printable to thermal hardware and deliverable over WhatsApp
  • Departments and menus (SambaPOS-style) with per-category printer routing
  • Sales / shift / work-period reporting dashboards with PDF export
  • Role-based permissions across every action (Spatie + Sanctum)

Key Features

Multi-branch · Multi-counterOffline-first (Windows desktop)Bidirectional on-prem ↔ cloud syncKitchen Display SystemThermal KOT + bill + receiptWebSocket print agentSplit paymentsCash-drawer controlCustomer credit + ledgersInventory + batch + expiryFloor plans + reservationsShift reports + WhatsApp deliveryDepartments + menusRole-based permissionsWeb · Windows · Android

Results

Sub-second on the till
Cash settle time
Sells through outages
Offline capability
Web · Windows · Android
Codebase ports
Automatic, two-way
Data sync
Live in production
Status

Waqas built our complete POS system for Flavourz Restaurant & Cafe — inventory, kitchen display, multi-counter, the works. The team was up and running quickly with no training drama, and it keeps running smoothly even when the internet or power acts up.

Malik Ghulam Ali — Owner, Flavourz Restaurant & Cafe

Discuss this project

Fill out the form below to get started.