← Back home// client case · hospitality

From legacy WordPress to a modern direct channel — without breaking a thing.

Le Kyoto, a fast-casual Japanese restaurant in Beauvais. We layered a direct ordering channel on top of their existing WordPress and Hiboutik POS: a mobile-first Next.js front, two in-room touch kiosks, an AI upsell engine, and automatic POS sync — without touching the catalogue or the checkout flow in the kitchen.

Client
Le Kyoto — Beauvais
Sector
Hospitality · Multi-channel
Duration
Ongoing engagement
Stack
Next.js 16 · WooCommerce · Hiboutik · Stripe

The context

An independent fast-casual restaurant in Beauvais. A rich product catalogue — sushi, ramen, bowls, bento, options, allergens — managed in WordPress + WooCommerce. A legacy Hiboutik POS in the kitchen for in-room payments.

The need: a clean, modern, unified ordering channel — mobile site, desktop site, in-room kiosks — wired into what was already there. Zero appetite to rebuild from scratch. Zero tolerance for double entry.

The approach: don't rebuild what works

When a backend works, you keep it — and you build around it. That's the rule.

01

Kept

WordPress + WooCommerce (catalogue, options, allergens), Hiboutik (physical POS). No risky migration, no double entry.

02

Added

A mobile-first Next.js 16 front on top. WordPress becomes invisible to visitors — a custom plugin locks down the WP front-end, only the REST API is exposed.

03

Unified

Mobile site, desktop site, two touch kiosks: one codebase. Ship once, deploy everywhere.

Two touch kiosks — same code, dedicated layout

Two Elo Touch 22" portrait screens in the dining room, running the same Next.js as the site. Menu, cart and checkout components are shared; only the layout changes: 200 px persistent sidebar, 90 px header, ≥ 60 px touch targets, PIN lock at entry.

Phone-based customer identification, order metadata to tell kiosk 1 from kiosk 2, Hiboutik customer linked to the sale so the kitchen sees order history. Locked Android kiosk mode.

kiosk 1
kyoto
Sushi
Ramen
Bowl
Bento
Boissons
+ €9.50
+ €9.50
+ €9.50
+ €9.50

cart · 4 items

€32.40

Elo Touch 22" · portrait

AI, where it earns its keep

A custom upsell engine that, on the checkout recap, suggests contextual add-ons — "+1 drink €2.50", "+1 gyoza €3.90" — chosen from the current basket and past basket history.

Not a gimmick chatbot: a focused module wired on native WooCommerce hooks, measurable through acceptance rate. The AI serves a clear business goal: raise the average basket.

upsell · checkout recap

+1 drink 33 cl+ €2.50
+1 gyoza (×6)+ €3.90
+1 ice mochi+ €2.20

avg acceptance rate · ~25%

Six in-house WordPress plugins, each doing one thing

No big proprietary monolith. Six short plugins wired on standard WC hooks and the native Action Scheduler, each covering a business need. Maintainable by any WP developer.

HI

kyoto-hiboutik

WC order → Hiboutik POS sync (customers, lines, payment)

DE

kyoto-delivery

10 km delivery zone, address validation at checkout

OP

kyoto-options

Product options and add-ons, headless-friendly mode

ME

kyoto-menus

Combo menus, promotional offers

ST

kyoto-status

Open/closed status by hours, off-hours pre-orders

UP

kyoto-upsell

Contextual AI upsell engine

LO

kyoto-lockdown

Lock down the WP front-end — only the REST API gets out

The first months in production

The project isn't frozen — we keep iterating. From what's already measurable:

Average basket

Up from the first months — automated upsell converts on roughly 1 in 4 orders.

Direct orders

Direct order volume growing: site and kiosks become meaningful channels alongside phone and in-room.

Time back

No more double entry: site and kiosk orders flow into the POS on their own. Owners run it remotely.

In-room kiosks

Two self-service kiosks live, basket size equal to or higher than the website.

The stack

  • Next.js 16 · React 19 · Tailwind 4 · TypeScript
  • WordPress (headless) · WooCommerce · 6 in-house plugins
  • Hiboutik (physical POS) · Sync via Action Scheduler
  • Stripe (web + kiosks QR/TPE)
  • Elo Touch I-Series 4 — 22" Android portrait (×2)

Talk about a similar engagement

Client case — Le Kyoto, Beauvais | AubryMedia | AubryMedia