FC
EN PT ES

Case study · 2026

Trattoria Bella Vita

A QR-code ordering system for restaurants: guests scan the code on their table, browse the menu on their phone and send their order to the kitchen, where staff follow it on a live board.

Laravel Livewire Filament Tailwind SQLite

The idea

Waiting for the menu, then waiting to order, then waiting for the bill is where a restaurant loses the most time. Trattoria Bella Vita puts a QR code on every table: the guest scans it, sees the full menu with photos and orders from their own phone, and the kitchen sees the order the moment it is sent.

What it does

  • For guests: a menu in English, Italian and Portuguese, with photos, prices, allergens, a search box and filters (vegetarian, spicy, gluten-free, dairy-free). Everyone at the table shares one cart, can leave a note for the kitchen, call a waiter, and follow the order from "received" to "served".
  • For the kitchen: a board with one card per order, a timer on each, a highlight when an order is late, tick-boxes for each dish, a printable ticket, sound alerts and a dark mode for a dim kitchen. Dishes can be marked unavailable and disappear from every guest's menu.
  • For the owner: an admin panel to edit the menu, categories and tables, print the QR codes, see every order, and read a dashboard with orders and revenue today, the busiest hours, the top dishes and the revenue by category.

Behind the scenes

Built with Laravel, Livewire and Filament, with Tailwind for the styling and SQLite for the data. Every table has its own unguessable link, so a guest cannot open another table's order. Prices are stored as whole cents to avoid rounding errors, and 70+ automated tests cover ordering, the kitchen board and the admin.

The app is designed for live updates over websockets (Laravel Reverb). This demo runs on shared hosting, which cannot keep a websocket server running, so its screens refresh every few seconds instead; on a VPS the same code updates instantly.

Try it

Open the live demo, order something, and press "See the kitchen board" at the top to watch your order arrive. It is a public demo: orders are cleared regularly, and the staff view cannot open the admin panel.

What I would do next

Online payments, a bill that can be split between guests, and real-time updates through a websocket server for restaurants that want them.