CS-14 // Dossier
Event ticketing & door check-in
A ticketing system that turns a workshop purchase into a signed single-use QR ticket, emails it under the client’s branding, and checks attendees in on any phone at the door — attendance, no-shows and per-ticket revenue landing straight in the CRM.
Exhibit // CS-14
R-02 · interface redrawn from the live build — zero client pixels
- Client
- R-01SEALED UNDER NDA. SPECIFICS WALK THROUGH LIVE. → BOOK
- Industry
- High-ticket education business · sibling of CS-03
- System
- Event ticketing & door check-in
- Stack
- Next.js · GoHighLevel · QR + jsQR · Vercel
- Trigger
- A workshop purchase — or a walk-in at the door
- Metrics
- System scope
01 // The problem
Event attendance and revenue were counted by hand, and the platform itself couldn’t be trusted: a live event reported 50 registrants when 251 were on the list, traced to an API paging quirk that silently dropped half of every page of records.
02 // The system
Redrawn — no client data
The system
03 // The delta
Before and after go-live
Before
- Attendance counted by hand at the door
- A live event reporting 50 registrants when 251 were on the list
- Tickets and revenue living in spreadsheets, not the CRM
- Every new event needing developer time
With the system
- Signed single-use QR tickets, scanned on any phone
- The undercount root-caused, measured and fixed with defence-in-depth
- Attendance, no-shows and per-ticket revenue on the contact record
- New events configured by filling in a CRM record
04 // What got done
6 entries
- B-01Signed, single-use, non-forgeable QR tickets generated on purchase or registration and emailed under the client’s branding
- B-02A door scanner that runs on any phone — with a software-decode fallback added after the native scanner failed on every iPhone on event day
- B-03Walk-in registration issuing a ticket and QR on the spot
- B-04A nightly no-show finalization job that writes a permanent attendance record and messages nobody
- B-05Per-event configuration moved into CRM record fields, so a new event needs no code change and no developer
- B-06Root-caused the registrant undercount to unstable API paging, measured the loss across five page sizes, and fixed it with a verified single read plus a defence-in-depth re-derivation
05 // Outcome
System scope — capability metrics, honestly labeled
- → Scope
tickets issued at the first live event - 0
- → Scope
checked in at the door — an 87% show rate, measured - 0
- → Scope
duplicate sends across a 166-ticket backlog - 0
06 // The result
From the build log
- Run live at two real events, with ticket revenue (~$22K at the first) recorded straight to the CRM
- A 166-ticket backlog sent with zero duplicates; mistyped addresses caught pre-send
- Two future events pre-wired and end-to-end tested, including a real test purchase
Want a system like this one?
Free · 30 min · leave with a rough scope either way