Oversell lock
The reservation function was rewritten with an event-level advisory lock, row-level locking and a conditional "remaining ≥ requested" update. Seat conflicts roll the counter back automatically. Verified under load testing.
A ticketing platform for concerts, festivals and theatre: a race-proof capacity lock, edge bot protection, QR tickets and AI-assisted seating. 99k lines of code, 71 tables.
| Stack | React 18 + TypeScript, Vite, Tailwind CSS, TanStack Query |
|---|---|
| Backend | PostgreSQL with edge functions, rate limiting and bot protection at the edge |
| Codebase | ~99,000 lines · 667 files |
| Interface | 215 components · 42 admin + 22 organiser screens |
| Database | 71 tables · 112 versioned migrations |
| Server functions | 35 (payments, notifications, payouts, auto pricing, webhooks) |
| Mobile app | Android — com.biletime.app |
| Tickets | QR generation, email delivery, single-use validation at the door |
| Testing | End-to-end suite — 20/20 passing |
The reservation function was rewritten with an event-level advisory lock, row-level locking and a conditional "remaining ≥ requested" update. Seat conflicts roll the counter back automatically. Verified under load testing.
An edge layer, rate limiting, bot protection and image delivery were introduced; hot queries were indexed and cached. Target capacity was raised to a million-user scale.
QR tickets generated after purchase, delivered by email and validated once at the door, with a live sales and remaining-capacity dashboard for organisers.
Assistants that draft event descriptions, extract a seating layout from an image and design venue plans, plus waiting-list and follower notifications.
Organiser payout tracking, overdue payout alerts, venue requests and webhook delivery of events to external systems.
The platform was fully separated from its external development environment: authentication, database and file storage moved to our own infrastructure, with an end-to-end test suite and full type safety.
Most of the problems we solved on Biletime repeat across sectors. Tell us about yours and we will scope it together.
We load nothing beyond the cookies required for the site to work. If you let us measure which pages get attention, we can make the site better. Details