Arrange Act Assert

Jag Reehals thinking on things, mostly product development

Don't Look Back in Anger: Let's Design a Better Ticketing System

31 Aug 2024

Saturday's Oasis ticket sales left thousands of fans disheartened after spending hours in virtual queues. As reported by the BBC and echoed by fans on X (formerly Twitter) and Reddit, the experience could be aptly described using a quote from Liam Gallagher himself:

Shite

— Liam Gallagher (@liamgallagher) April 20, 2023

Like many others, I have long been frustrated with platforms like Ticketmaster, See Tickets, and Gigs and Tours. This weekend, their reputations took another hit as fans faced inflated prices and technical glitches.

This made me think if I could design a better, more reliable ticketing system that prioritises fairness and user experience.

Let's not make Sally wait any longer than she has to.

Some Might Say

This document outlines the design and technical requirements for an enhanced ticketing system aimed at reducing server load, improving user experience, and ensuring environmental sustainability.

The proposed system will achieve these goals through random selection, time-limited purchasing, and lightweight verification, with a focus on simplicity and excellent user experience.

Wonderwall

Traditional ticketing systems often crumble under the pressure of high-demand events, leading to poor user experiences, system crashes, and unfair ticket distribution.

graph TD
  A[User Joins Queue] --> B[Wait in Line]
  B --> C{Tickets Available?}
  C -->|Yes| D[Purchase Ticket]
  C -->|No| E[Event Sold Out]

The improved system seeks to address these issues more efficiently and user-friendly.

graph TD
A[User Signs Up 24 Hours Before Sale] --> B[Verify Email & Phone]
B --> C[Specify Preferences & Notification Method]
C --> D[Enter Selection Queue]
D --> E{Selected?}
E -->|Yes| F[Receive Notification]
E -->|No| G[Remain in Queue]
F --> H[Purchase Window Opens]
H --> I{User Clicks Link to Purchase}
I -->|Yes| J[10-Minute Purchase Window]
J --> K{Purchase Completed?}
K -->|Yes| L[Ticket Secured]
K -->|No| P[Exit Process]
G --> N{Tickets Remaining?}
N -->|Yes| E
N -->|No| O[Notify: Event Sold Out]

The Masterplan

Be Here Now

The system's architecture is designed for simplicity and efficiency, allowing easy scaling without the need for expensive server infrastructure.

This design ensures that even with millions of users in the selection Queue, the system remains responsive and doesn't require overpowered servers.

D'You Know What I Mean?

It’s Gettin’ Better (Man!!)

Little By Little

Talk Tonight

+------------------------------------------+
|          Virtual Waiting Room            |
+------------------------------------------+
| Event: Oasis 2025                        |
|                                          |
| Status: You're in the queue              |
|                                          |
| We'll notify you if you're selected:     |
| β€’ SMS: (44) 7970 123456                  |
| β€’ Email: user@example.com                |
|                                          |
| [Update Contact Info]   [Exit]           |
+------------------------------------------+

Stand by Me

This revised ticketing system prioritises user experience while maintaining simplicity and efficiency.

Live Forever

This system creates a win-win scenario: users enjoy a more pleasant ticket-buying experience, and event organisers benefit from reduced costs and improved customer satisfaction.

The technical design ensures scalability and performance, using serverless architecture to keep costs low and manageable without requiring additional manual operational resources.

This approach should resolve the frustrations that Oasis fans encountered on Saturday, ensuring they won’t be looking back in anger.

architecture design scalability