Restover

A realtime platform for restaurants

Freelance · solo

Built with

  • TypeScript
  • Next.js
  • Turborepo
  • Supabase
  • Expo
  • SumUp
Restover POS dashboard running on an iPad

The problem

In a full service every second counts. Orders must reach the kitchen and bar instantly and reliably, guests want to order themselves without waiting, and nothing can be lost between table and counter. A sluggish screen, a missed ticket status or a table keyed in twice every point of friction costs revenue, tips and regulars. That's exactly where Restover comes in: one real-time flow instead of paper chits and disconnected tools.

Six apps, one monorepo

The platform

A Turborepo + pnpm monorepo of six standalone Next.js apps POS, waiter, kitchen display, guest ordering, admin and web each tailored to its device. Shared packages keep the boundaries clean; routing and wait times run in real time over Supabase. On top: kitchen inventory with recipe-level auto-deduction, AI-assisted menu onboarding, and card payments (SumUp) with encrypted credentials.

Real-time inventory

Inventory management on an iPad with a low-stock alert

Full-screen kitchen display

Full-screen kitchen display with tickets in the Pending, Preparing and Ready columns

Live POS dashboard

POS order list on a MacBook with tables, statuses and wait times

Ordering from the table

The guest experience

Guests scan the QR code at the table, pick a language and order themselves dish photos, live status and a real-time wait estimate, with no app to install. Table and restaurant are derived server-side from a signed token, never trusted from the guest's request.

Multilingual entry

Guest app language selection: German, English and Arabic

Menu at the table

Guest app digital menu with dish photos and categories

Track orders live

Guest app real-time order tracking with a status bar and remaining time

Summary & reorder

Guest app order summary with total and a reorder button

Fiscal law and privacy by design

Compliance

Tenant isolation on two layers: row-level-security policies on every table, plus explicit restaurant checks in the query layer a bug in one layer never exposes another tenant's data. The daily close is KassenSichV/TSE-compliant 146a AO), with DSFinV-K export for tax audits. GDPR is built in: EU-hosted, no IP or user-agent storage, rate limiting over hashed IPs, PII-sanitized error monitoring and self-hosted fonts. Tri-lingual throughout German, English and Modern Standard Arabic, including RTL layout.

TSE-signed Z-report (daily close) with tax breakdown and TSE serial number

Daily closes that pass every audit

Overview of all Z-reports with DSFinV-K export for tax-office audits