Case study
RetroPOS
A retro-style terminal POS built with Bun + OpenTUI + SQLite
A complete keyboard-driven point-of-sale terminal built with Bun, OpenTUI, and bun:sqlite. Features PIN login with RBAC (admin/manager/cashier roles), 9-step onboarding with conditional recipe flows, full commercial suite (analytics, import/export, theme persistence), till/cash drawer with F9 operations (float, cash in/out, X/Z reports), items/ingredients view with low-stock indicators, recipes/view with product↔ingredient BOM links, width-parametric ESC/POS receipt rendering (80mm=42 cols, 57mm=32 cols), receipt modes (Auto/Ask/Off), oversell control, and 'sale without till' toggle. Demonstrates modern terminal UI patterns, SQLite persistence, and conventional POS workflows in a compact, keyboard-driven interface.
By the numbers
- lines of source
- 4,200
- core modules
- 6
- function keys
- 12
Built with
- Bun
- OpenTUI
- SQLite
- Terminal UI
- RBAC
- ESC/POS
- Cafe Recipes
- Import/Export