Case study

HelloRestaurant

Diners find a restaurant and book a table online. Restaurants manage bookings, walk-ins, tables, menus and orders from one portal, and each restaurant gets its own booking website.

Table booking and restaurant management

The HelloRestaurant home page on a laptop: the headline “Discover your perfect dining experience”, a search box for restaurants, cuisine or location, and a Browse all restaurants button.
The same HelloRestaurant home page on a phone, with the search box and Browse all restaurants button stacked.

What it does

  • Drag-and-drop floor plan, with tables that join for larger groups
  • A QR code on each table opens the menu for ordering, and orders appear on a kitchen screen
  • Email reminders for guests and a morning summary for owners
  • Turns a photo of a printed menu into menu items
  • Payments and subscriptions through Stripe

The portal also covers customers, reviews, analytics and the restaurant's own website, which lives on its own subdomain.

How it fits together

  1. People

    • Diners on web and phone
    • Restaurant staff in the portal
    • QR codes on each table
    • Kitchen screen
  2. App

    • Next.js on Cloudflare Workers (OpenNext)
    • Restaurant websites on subdomains
  3. API

    • GraphQL (Pothos)
    • Prisma
  4. Data and services

    • D1 database
    • R2 file storage
    • Stripe payments
    • Cloudflare email sending
    • OpenAI for menu photos
How HelloRestaurant fits together, from the people using it to where its data is kept. A cron trigger runs every 15 minutes to send booking reminders and owners' morning summaries.

How it's built

  • Next.js and React, running on Cloudflare Workers through OpenNext.
  • A GraphQL API built with Pothos, over Prisma and a Cloudflare D1 database, with files in R2.
  • A scheduled job every 15 minutes sends booking reminders and owners' morning summaries through Cloudflare's email sending.
  • Menu photos are read by an OpenAI vision model and turned into menu items with prices and variants.
  • Next.js
  • React
  • GraphQL
  • Prisma
  • Cloudflare Workers
  • D1
  • R2
  • Stripe

Articles about HelloRestaurant

Tell us what you're building.

Email us about your project: what it needs to do, who it's for and when you'd like it live.