Case study · 2026 · Full-Stack Developer

Coffee Shop Management System

An offline-first POS and management platform for coffee shops: recipe-based stock deduction, shift control, and live reporting across mobile and web.

Client
Client project · F&B retail
Role
Full-Stack Developer
Timeline
2026 · ongoing
Year
2026
100%
offline-capable checkout
Auto
recipe-based stock deduction
Dual
cashier app + web dashboard
FlutterDartRiverpodDrift (SQLite)Next.jsReactSupabasePostgreSQLESC/POS

Overview

An offline-first point-of-sale and management platform for high-volume coffee shop operations. A Flutter cashier app on Android tablets pairs with a Next.js management portal for owners, sharing a Supabase backend so every order, shift, and stock movement stays in sync.

The problem

Cloud-only POS systems stall at the counter the moment the internet drops, and manually tracking ingredient usage per drink makes real cost of goods sold impossible to know. Neither is acceptable during a morning rush.

Goals

  • Zero checkout downtime, with or without internet.
  • Automatic ingredient deduction from each drink's recipe.
  • Accurate, real-time margins as ingredient costs change.
  • One shared source of truth for cashiers and owners.

Architecture

The Flutter app treats a local Drift (SQLite) database as its primary store, so orders, shifts, and receipts commit instantly on-device. A background sync engine pushes completed records to Supabase in dependency order and pulls master data back down, while the Next.js web dashboard reads directly from Supabase under Row Level Security for real-time reporting.

What it does

Order builder & checkout

Fast tablet-friendly ordering with drink customization, tax, and service fee handled automatically.

Shift & cash control

Cashiers open and close shifts with automatic cash reconciliation, restored instantly after a crash or reboot.

Recipe & inventory setup

Every menu item is backed by a configurable recipe, so a sale automatically deducts the exact ingredients used.

Tax & service fee configuration

Owners tune tax rates, service charges, and rounding rules once; every transaction applies them consistently.

Receipt printing

Thermal receipts print over Bluetooth, USB, or network, with printer setup managed directly from the app.

Reporting dashboard

Owners see live revenue, top items, and shift history from the web dashboard without touching the till.

More of the system

Results

Cashiers keep working through internet outages, ingredient costs deduct themselves per sale, and owners get a live view of the business from a browser instead of an end-of-day guess.

100%
checkout uptime offline
Live
COGS accuracy
2
apps kept in sync

Lessons

Treating the local database as the source of truth, not the cloud, forced a cleaner sync design and made the app genuinely resilient. Modeling recipes as real domain data, not a config afterthought, is what made accurate COGS possible at all.

Next project

DPMPTSP Asset Management