Run orders, payments, and kitchen ops from one screen.
TableFlow is a full-stack point-of-sale system for restaurants, cafes, and small retail counters that need fast order entry, split payments, table management, and kitchen coordination. It helps staff move from taking an order to printing tickets and closing shifts without juggling disconnected tools or paper logs.
Shop Owner Lina, 38 - Lina runs a busy cafe with dine-in tables, takeaway orders, and a small team that changes shifts daily. She needs a system that gives her control over sales, discounts, and end-of-day reports without spending hours on reconciliation.
Cashier Dimas, 24 - Dimas works the register during lunch rush and handles dine-in and takeout orders. He needs a fast interface with minimal taps and clear recovery if a payment fails or a bill gets split.
Floor Server Rina, 29 - Rina manages tables, sends QR orders, and coordinates with the kitchen during peak hours. She needs to know which tables are occupied, what is already sent, and what still needs payment.
Lina manages a busy cafe where lunch rush used to mean handwritten notes, missed items, and long lines at checkout. Her staff bounced between a tablet for orders, a separate payment terminal, and a printer that sometimes failed without anyone noticing.
With TableFlow, Lina opens the shift, loads the table map, and starts taking orders in seconds. Servers send QR orders from the table, the kitchen display shows exactly what needs prep, and split payments settle cleanly at the counter. At close, Lina reviews an accurate shift report in minutes instead of reconciling paper slips for an hour, giving her faster service and cleaner numbers.
Team & resourcing - Small team - 2 full-stack engineers, 1 product designer, part-time QA, part-time PM
Paste this into Cursor, Bolt, Lovable, or v0 to start building.
Build TableFlow, a full-stack POS web app for restaurants and small retail counters. Core features: - Auth with roles: owner, manager, cashier, server, kitchen - Product CRUD with categories, product variants, barcode/SKU, price, active/inactive states - POS order screen for dine-in, takeout, and QR table orders - Open bills that can be resumed later - Table management with statuses: available, occupied, pending payment, cleaning - Split payments across cash, card, QR wallet, and bank transfer - Discounts at item and order level with approval rules - Voucher code validation with expiry, min spend, usage limits - Kitchen display screen and station printer routing by category - Checker/receipt printer support with reprint and audit log - Shift open/close workflow with cash count and end-of-shift report - Detailed reporting dashboard by date, cashier, table, payment method, discounts, vouchers Primary screens/flows: 1. Login and role-based dashboard 2. POS register screen with category tabs, search, cart, table selector, payment modal 3. Table map screen with live status and table assignment actions 4. Kitchen display screen with incoming tickets and prep status 5. Admin screens for products, vouchers, printers, users, shifts, and reports Data model: - User, Role, Store, Shift, Table, Category, Product, ProductVariant, Order, OrderItem, Payment, Discount, Voucher, Printer, PrinterJob, KitchenTicket, AuditLog - Include tenant/store scoping on every record - Include timestamps, createdBy, updatedBy, status fields, and idempotency keys for payment/print actions Technical stack: - Frontend: Next.js 14, React, TypeScript, Tailwind, shadcn/ui - Backend: NestJS or Next.js API routes, TypeScript - Database: PostgreSQL with Prisma - Realtime: Socket.IO or WebSockets - Jobs/queue: Redis + BullMQ - Auth: JWT with refresh tokens and role-based permissions - Printing: ESC/POS print gateway service - Deployable on Docker with environment-based config Implementation requirements: - Build responsive desktop/tablet UI optimized for cashier speed - Support optimistic updates with server reconciliation - Validate split payments so balances never go negative - Make printer failures retryable and visible in UI - Add seeded demo data for a cafe with tables, products, and sample shifts - Include clean component structure, API routes, Prisma schema, and basic tests for payment splitting and voucher validation
Design by The Resonance | Powered by GPC – The AI Transformation Company