Design the room.
Sell every
seat.
SeatNG is a venue seat-chart editor and an embeddable buyer-facing picker in one. Place rows on a canvas, publish a version, and drop the picker into any site with a single iframe.
Admin editor and buyer picker
share a single canvas.
The same WASM renderer powers collaborative layout design and a read-only picker your customers use to pick seats. Zero drift between what you design and what they see.
Place rows. Curve them. Publish a version.
Drag out arced rows, snap seats to a grid, mark ADA positions, and collaborate with the rest of your team in real time. Last-write-wins per element — conflicts are rare, visible, and fixable.
- Arced rows, sections, stages, labels
- Category assignment & color coding
- Operation-based sync, debounced persistence
Drop into any checkout with one iframe.
An embed-ready, read-only picker with live hold TTLs, keyboard navigation, and a parallel DOM for screen readers. Your buyers get 60fps panning and zooming without touching your page's CSS.
- 30-second server-held seats with PubSub broadcast
- Parallel keyboard DOM · WCAG 2.1 AA
- JS embed & Ruby SDKs included
Serious engineering, friendly surface.
Everything that makes the canvas feel fast, the picker feel trustworthy, and the admin tools feel stable — without the boilerplate.
Operation-based sync
Optimistic local edits validated by a Rustler NIF and broadcast via Phoenix Channels. Sub-frame latency, with server-side authority.
30-second holds
Seat holds live in a GenServer with
Process.send_after. No DB polling, no stale carts.
Accessible by default
The picker ships with a parallel keyboard DOM, ARIA row/seat labelling, and WCAG 2.1 AA color contrast on every status state.
Embed SDK
JavaScript, Ruby, and a REST API with public embed keys per org. Per-origin allowlist, scoped tokens, webhook deliveries for booking events.
Versioned charts
Every publish creates an immutable chart version. Events pin to a specific version so you can keep editing the next revision in peace.
Multi-tenant orgs
Orgs, members, roles. Built for agencies running many venues or ticketing partners embedding into many sites.
Four steps from signup to live sales.
Create an org
Sign up, name your org, add teammates. One account can hold many organisations and many venues.
Design the chart
Draw rows, curve them, tag ADA seats, assign categories. Multiple admins can edit the same canvas.
Publish an event
Create an event, pin it to a chart version, and get an embed key for each origin you trust.
Drop the iframe
Paste the snippet into your ticketing page. Buyers pick seats; your webhook receives bookings.
Ready to design a room?
Start with the demo venue. No credit card, no integration required.