Kept
WordPress + WooCommerce (catalogue, options, allergens), Hiboutik (physical POS). No risky migration, no double entry.
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.
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.
When a backend works, you keep it — and you build around it. That's the rule.
WordPress + WooCommerce (catalogue, options, allergens), Hiboutik (physical POS). No risky migration, no double entry.
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.
Mobile site, desktop site, two touch kiosks: one codebase. Ship once, deploy everywhere.
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.
cart · 4 items
€32.40
Elo Touch 22" · portrait
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
avg acceptance rate · ~25%
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.
kyoto-hiboutik
WC order → Hiboutik POS sync (customers, lines, payment)
kyoto-delivery
10 km delivery zone, address validation at checkout
kyoto-options
Product options and add-ons, headless-friendly mode
kyoto-menus
Combo menus, promotional offers
kyoto-status
Open/closed status by hours, off-hours pre-orders
kyoto-upsell
Contextual AI upsell engine
kyoto-lockdown
Lock down the WP front-end — only the REST API gets out
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.