X
Xon
Voice Ordering Agent

Generate a table's Xon link

One QR per physical table. Branch, table, floor, and default staff are baked into the link — the guest never types any of it.

Location & staff

Geofence (order only allowed nearby)

📍 Xon will refuse to take an order if the guest's phone reports a location outside this radius from the branch coordinates above.

Realistic voice (optional)

Without this, Xon uses your browser's own text-to-speech, which sounds synthetic. Add an ElevenLabs (or compatible) API key here and Xon speaks with a real, natural-sounding voice instead — everything else about the agent stays the same.

🔑 The key is stored only in this browser's local storage for this demo, never sent anywhere except directly to ElevenLabs' own API. Get a key and voice ID at elevenlabs.io — make sure you copy the actual API Key (starts with sk_, shown once when the key is created/rotated), not the Key ID from the API keys list — those look similar but ElevenLabs will reject the ID with an "invalid_api_key" error. If the call fails for any reason (wrong key, network issue, rate limit), Xon quietly falls back to the browser voice — it never goes silent.

Generated link

Scanning this opens the same page you're on now, straight into the Xon Agent tab with this table's context already loaded.

Real AES-256-GCM encryption, not a toy cipher — done via the browser's native Web Crypto API, with a fresh random IV every time this link is generated. The one thing that doesn't change: the key lives in this page's own JS, so anyone reading the page source has it, same as any client-side "encryption" ever will. A real deployment should issue this as a short-lived, server-signed token instead (e.g. JWT or an opaque ID resolved server-side) so the key never ships to the browser at all.
Checking your location…
Xon
Hi — one second while I confirm you're at the table.
Xon · voice, QR routing and the geofence check run for real in your browser. Menu, staff assignment and order submission are demo data — wire to the live branch/table/order APIs to go live.