Ticketing · Web · 2025
KutMasterz: event ticketing with a QR code on every ticket
Organizers create events and sell tickets; every ticket carries a unique QR; staff scan at the gate and see valid or already used in real time.
- Client
- KutMasterz
- Industry
- Events
- My role
- Backend engineer (with one other backend developer)
- Year
- 2025
Overview
A ticketing platform in three parts: a storefront where buyers pick an event and pay, an Express API that generates a unique QR code per ticket and emails it, and an organizer dashboard with sales, exports and a camera-based gate scanner that validates each QR once.
The problem
The client needed ten thousand tickets generated for a single event in one go, each with its own QR, without a queue system in the stack. Generation had to finish in one request cycle without timing out, and the gate scanner had to reject a ticket the second time it was shown.
What I built
- Ticket generation in batches inside one request with per-ticket UUIDs and QR images, tuned until 10,000 tickets completed reliably without BullMQ or a worker.
- Scan endpoint that flips a ticket from valid to used atomically, so two gates scanning the same code cannot both let it through.
- Organizer dashboard: sales charts, ticket lists, ZIP export of QR images, email delivery of tickets to buyers.
- Express + Mongoose + Zod API with JWT auth; React storefront and dashboard.
Outcome
10,000
Tickets generated in one run
5.0
Client rating on delivery
Engineering decisions
- Bulk generation without a queue
- Idempotent scan-to-used transition