Skip to main content
Nguyen Duc Anh Tuan.
← All projects

Web · Cloud

Online table booking

Guests book 24/7 even when the POS is off; bookings sync to the counter every 30 seconds. 3 languages.

Role
Design · Development · Operations
Year
2026
Tech stack
React · TypeScript · Cloudflare Workers · D1 · Turnstile
Booking page: shop photo on the left, date, time and party-size form on the rightIllustration

Context

The shop wanted guests to book online and read the menu, hours and news in Japanese, Vietnamese and English — while the counter POS is not on 24/7.

Challenge

It had to stay up while the counter PC is off, stop spam bookings and protect guest data — at close to zero running cost.

Solution

  1. Site and API run on Cloudflare Workers + D1, fully independent of the POS.

  2. The POS pulls new bookings every 30 seconds with its own token — no port in the shop is exposed to the Internet.

  3. Cloudflare Turnstile blocks spam; IP addresses are hashed, never stored raw.

  4. Guests look up bookings by code; confirmation emails go out automatically via Resend.

Results

  • 24/7

    bookings accepted

  • 30s

    to reach the counter

  • 62

    API tests

  • 3

    languages

Want something like this for your shop?

Send a message
Next projectXưởng Tâm Sự (video automation)