Nova Dream Ticket is a ticketing website where I built the frontend. The hardest part was the seat selection and seat holding flow, where a single wrong step costs the user their seat.
Problem
When many people choose seats in the same area, the interface has to reflect each seat’s state accurately and prevent double booking.
Decisions
- A clear seat-hold flow: the interface reflects exactly which seats are being held.
- Performance and SEO: event content must be found on Google and load fast on mobile.
- Security: validate and handle sensitive information correctly on the client side.
Lessons learned
In competitive flows like ticket booking, the interface state must always match the system state. That matters more than any animation.