2026 · Commerce
Boafo Ticketing
Sole-engineered event ticketing stack: public API, organizer dashboard, embeddable checkout. Zero oversell at 800 concurrent buyers.
0tickets oversold with 800 concurrent buyers chasing 100
- My role
- Sole engineer: public API, organizer dashboard, embeddable checkout, phone scanner and deployment.
- Result
- The load test sold 100 tickets to 800 concurrent buyers with zero oversell.
- Built with
- NestJS, Next.js, Prisma, PostgreSQL +4 more
Problem
Organizers want to sell from their own site, and on-sale spikes are where ticketing breaks: seats sold twice, prices changed in the browser, payments charged twice on retry.
My role
Sole engineer: public API, organizer dashboard, embeddable checkout, phone scanner and deployment.
What I built
- Zero oversell under 800 concurrent buyers for 100 tickets
- Idempotency-Key, integer money, and single-writer capacity enforced by architectural tests
- Paystack card + mobile money, HMAC QR tickets, offline scanner
- OpenAPI product surface with secret vs publishable keys and signed webhooks
- Docker Compose on a single droplet: Caddy TLS, three apps, Postgres, Redis, one-shot migrator
Outcome
The load test sold 100 tickets to 800 concurrent buyers with zero oversell. It also caught a reverse-proxy rate limit that would have turned real buyers away after about 8 requests.