← All projects05Dev & AI2026
Servio
Table-service order-taking app — in production
I worked in this restaurant before writing a line of it. I saw what could be better organised, and what a better-run dining room earns. Servio replaces the paper pad and the trips back to the till with a phone. The aim hasn't changed since: make the work easier.
- Context
- My first client: a Brussels restaurant, whose entire IT I run — network, printers, till, online orders, website and app.
- Role
- Design, development, database, deployment, support. Solo project, with AI assistance.
- Year
- 2026
- Team
- Solo, with AI assistance (schema review, migrations)
- Duration
- 8 months of work (OperaApp then Servio)
- Status
- In production in a Brussels restaurant since 13 June 2026 · App Store release in progress
- Tools
- FlutterDartSupabasePostgreSQLRealtimeEdge FunctionsStripe ConnectESC/POSHiveSentryNext.js
Intent
I come from images: at HEAJ I do 3D and visual effects. Servio is what happens when that curiosity meets a real problem — I learned Flutter, PostgreSQL and the restaurant printer protocol because it had to hold up through a service. The film at the top of this page comes from the same hand as the app: 88 seconds rendered frame by frame in Python, with a soundtrack synthesised without a single sample.
IA
AI is used as a development assistant (schema review, migrations, proofreading). Architecture, decisions and responsibility for the code are mine.
Process
Step 01
The application
The waiter takes the order on their phone; the ticket comes out in the kitchen within a second.

Floor plan

Taking an order

Options and cooking

Service history

Bookings

Settings

Sunlight mode
Step 02
In production, not in a demo
Measured on 11 September 2026 on the production database, after three months of continuous service.
Real production
Code (Flutter / Dart)
Database (Supabase / PostgreSQL)
Step 03
Under the hood
Flutter for iOS and Android, Supabase for data and real time, ESC/POS printing on the restaurant's network.
Step 04
What Servio does not do
No fiscal function: Servio complements a certified till, it does not replace one. No payment goes through the app. No data is ever deleted. These three limits are deliberate — the next step is the GKS exam to become a certified till in Belgium.
Problems met → Solutions
01 · Problems met
Never create a duplicate order on unstable WiFi: the waiter taps twice, the kitchen gets the dish twice.
Solutions
Unique id generated on the app side, passed to the SQL send function with ON CONFLICT DO NOTHING: a replay has no effect.
02 · Problems met
A successful TCP send doesn't prove the paper came out: out of paper, cover open, printer off.
Solutions
ESC/POS status query (DLE EOT) before marking the ticket printed, and an alert on every device if nothing is confirmed. Trap fixed along the way: closing the socket abruptly truncated tickets.
03 · Problems met
Two phones sharing an account signed everything under the same identity: €718.50 credited to the wrong waiter for three weeks, with nothing to flag it.
Solutions
Person and device decoupled: named invitation code, logged and reversible record merge, personal code proof required database-side.
