← All systems
SYS-TKT production

Tikkets

Multi-tenant event ticketing — online checkout, door cash sales, and offline-safe scanning, one inventory.

Status22+ scans/sec · sub-500ms p99 · 0% errors
https://tikkets.com/
Multi-territory landing — one platform, per-country storefronts

Multi-territory landing — one platform, per-country storefronts — scroll to see more

https://tikkets.com/
Live event ticket selection — real event, real inventory

Live event ticket selection — real event, real inventory — scroll to see more

The problem

Promoters selling in mixed-currency, mixed-channel markets — online plus door cash — had no single inventory model, no offline-safe scanning, and no reconcilable money trail. Gate scanning tools froze under load; door cash floated uncounted; refunds and comp tickets were spreadsheets.

What was built
  • Three doors into one inventory: online Stripe checkout, a door cash POS with live FX conversion and drawer reconciliation, and a scanner PWA that queues check-ins offline and replays them without double-counting when connectivity returns.
  • A 'soft hold' checkout model — picking a ticket reserves inventory for 10 minutes and automatically releases it if payment isn't completed; free orders skip payment entirely.
  • A webhook path that cross-checks amount and currency between Stripe's record and the internal order before confirming, catching tampered requests before they slip through.
  • A complimentary ticket pool completely separate from paid-sales inventory, so sponsor/VIP tickets never distort revenue reporting.
  • An optional Hedera NFT ticketing layer, minted asynchronously on its own queue so a slow blockchain call never holds up a customer's checkout.
The outcome

Load-tested to 22+ scans per second sustained with zero errors, and no failures at 5,000 concurrent users — built specifically to handle a 40,000-attendee event inside a 30–60 minute entry window. Live and selling real event tickets across three territories.

Engineering highlights
  • The offline queue is the real product — anyone can build a QR scanner, but one that keeps working when a venue's network blips, and replays every queued check-in without double-counting a guest, is what actually gets trusted at the door.
  • Money correctness across three payment paths — free, card-paid, and webhook-recovered orders all have to agree on amount and currency before a ticket is issued.
  • Read/write database splitting and targeted indexing added ahead of a 5,000-concurrent-user event to keep dashboards from degrading to multi-second load times.
Stack

Next.js 14 · React 18 · TypeScript · Tailwind CSS · Laravel 11 (Octane/FrankenPHP) · PostgreSQL (AWS RDS, read replica) · Redis (ElastiCache) · Stripe · Hedera · AWS · Nginx

Screenshots

See it in action.

— loading —
scroll →