MapMyVenue
A seat-map platform I built solo, end to end. AI turns a photo of a floor plan into an editable seat map, a visual builder polishes it, and a single embed lets buyers pick seats on the venue's own site. Holds sync to every browser in real time, and it renders a 72,450-seat stadium smoothly.





Case Study
My Role
Solo build, end to end: the AI import, the visual builder, the seat-map viewer, the realtime hold system, the REST API, and the embed script. Everything runs as one hosted web app: venues sign up, build their map, and embed it on their site.
The Problem
Most venues still sell reserved seats from a floor-plan PDF, a spreadsheet, and a lot of "is seat 14 still free?" emails. MapMyVenue turns that floor plan into a seat map buyers can book themselves.
AI Import — Photo to Seat Map
Snap a photo of a seating plan and a vision model turns it into an editable, bookable seat map: sections, rows, and seats laid out ready for the builder. The demo footage uses the unedited AI output from a real photo.
Visual Builder
A Konva-based design tool for venues: 13 drawing tools with keyboard shortcuts covering seats, rows, sections, freeform polygon sections, and tables, plus background-image tracing for floor plans. It has advanced snapping (curves, rows, centers, grids), a per-element properties panel with multi-select, price tiers, accessible seats, templates, and 50-step undo/redo.
High-Performance Viewer
A canvas seat-map viewer that renders a 72,450-seat stadium smoothly, with category-based pricing colours, pan/zoom, and a ticket-picker overlay so buyers choose their exact seat. The same engine handles stadiums, arenas, opera houses, theatres, and banquet halls.
Realtime Holds, No Double Bookings
When a buyer holds a seat, every other open browser sees it as taken instantly (NestJS WebSocket gateway with Socket.io and Redis). Only one buyer can hold a seat, and the database refuses a second sale. Unpaid holds release on their own after 10 minutes.
Embed & API
Venues paste one script tag and buyers pick seats on the venue's own site. A REST API covers the whole flow (hold, book, release), so ticketing platforms can integrate directly. 0% commission: payments stay in the checkout the venue already uses.
Status
In public beta and free while it grows. Live demo: open it in two browser windows, hold a seat in one, and watch the other.