Cambodian Restaurant POS cover
All projects

Local-First

Cambodian Restaurant POS

Offline-first point of sale, built for real Cambodian kitchens.

Stack

  • Tauri
  • Rust
  • SQLite
  • Next.js
  • TypeScript

Shipped

Jul 5, 2026

The constraint that shaped everything

Internet in a busy Phnom Penh restaurant is not a given. The system had to be local-first: every order, payment, and shift report works with zero connectivity, and sync is a background luxury rather than a requirement.

Stack

Tauri gives a native shell with a tiny footprint on modest hardware. The core is Rust with SQLite as the single source of truth. The UI is Next.js rendered inside the shell, which meant the whole interface could be built with the same component patterns as any web app.

Built around real workflows

  • Table-first order entry matching how staff walk the floor
  • Split bills and partial cash payments, because that is how groups actually pay
  • Khmer and English labels side by side for mixed-generation staff
  • End-of-day reports that reconcile the cash drawer in one screen

What Rust bought

Crash-free operation during service is the whole product. Rust's type system pushed failure handling to compile time: the order pipeline cannot represent an order that loses its payment state. On a $300 mini PC, cold start is under two seconds.

Table-first order entry screen
Table-first order entry screen
End-of-day cash reconciliation report
End-of-day cash reconciliation report