Overview
TablePOS is a desktop point-of-sale system for restaurants that we designed and built as a product. Front-of-house staff take an order, produce a receipt and send a ticket to the kitchen from one application running on the counter computer.
The Challenge
Restaurant service is fast and unforgiving. A cashier may be keying an order while the customer is still deciding, and the kitchen needs a legible ticket the moment it is confirmed. Systems that bury the menu behind several screens slow the queue, and systems that depend on the internet stop when the connection does. We needed an interface quick enough for a rush and an architecture in which a network outage cannot halt trading.
Who Uses It and How
A cashier taps through categories, adds items, adjusts quantities and confirms. The kitchen ticket prints beside the cooks, who work from paper instead of a screen. After service, the owner or manager reviews the day's orders and updates the menu, for instance adding a seasonal special.
Our Approach
We designed the screen around the three things staff need to see together: the menu, the current order and the receipt. TablePOS shows them side by side in a multi-window arrangement rather than switching between them. The menu uses categories and large targets, so orders are entered in a few touches with a mouse or touchscreen. A desktop application, rather than a website, lets us drive a receipt printer directly and keep working locally.
What We Built
The order screen presents a category-based item grid so a cashier can move from starters to mains to drinks without searching. Chosen items appear in the cart with quantities and totals as they are added, while a receipt preview updates next to it. Confirming an order prints a kitchen ticket that carries exactly what was entered, and a customer receipt can be produced from the same data. Menu items and categories are stored in the application, and the restaurant can maintain them so the grid matches what is actually served.
Architecture and Data
The application is a packaged desktop program with a local database file, so its core loop needs no network at all. Entities are categories, menu items, orders, order lines and receipts. Totals are computed once from the order lines, and the same figures feed the cart, the receipt and the kitchen ticket, which avoids mismatches. Printing goes through the operating system to thermal receipt printers, with formatted text sized for narrow paper. Because data lives on one machine, a scheduled copy of the database file protects against disk failure.
Security, Privacy and Quality
Restaurant sales data is commercially sensitive, so the app can be protected by staff sign-in and role limits, for example allowing only managers to change menu prices. TablePOS as described handles order records rather than card data; if card payments are added, using a certified payment terminal keeps card details out of the application and reduces PCI DSS scope. Tax and rounding rules differ by country, so they are configurable. Testing covers total calculations, printing on real printers and recovery after a power cut mid-order.
Technology
Electron packages a web-based interface as a desktop program, giving us a polished interface and access to operating-system features such as printing. Node.js runs the application logic, including ticket formatting. SQLite stores menu and order data in a local file, so no separate database server is required and the system continues to work offline.
Outcome
TablePOS gives a restaurant a focused ordering tool that keeps the menu, the order and the receipt in view together and gets tickets to the kitchen without rewriting them by hand. Staff can enter orders quickly during busy periods, and the business gets a self-contained system that is simple to install and does not rely on a constant online connection.
Frequently asked questions
How much does it cost to build a custom restaurant POS system?
Cost drivers include how many terminals you need, whether tables, splitting bills and modifiers are supported, printer and payment-terminal integration, reporting, and whether you also want cloud sync between sites. A single-counter offline system is the simplest starting point.
Can a restaurant POS work without internet?
Yes. If orders and menus are stored locally, as in a desktop app with an embedded database, service continues during an outage. Cloud features such as remote reporting can sync once the connection returns.
Why build a POS as a desktop app instead of a web app?
Desktop software has direct access to printers and can run offline more reliably. A web app is easier to update across many locations, so the right choice depends on how many sites you operate.
Highlights
- Menu, cart and receipt visible together in a multi-window layout
- Category-based item grid for rapid order entry
- Kitchen ticket and customer receipt printing
- Keeps trading offline with local SQLite storage
- Editable menu and categories maintained by the restaurant
- Electron, Node.js and SQLite