Leading the shift from one-off feature work to a scalable design system for a movie-ticketing app used by over a million people.
Justickets was growing as a feature-driven product. Each addition, including offers, food and beverage ordering, Moviebuff content integration, and special screening messages, was designed in isolation. This created inconsistency, duplicated components, and friction between design and engineering.
The real problem wasn't the features. It was the underlying fragmentation that would slow growth and make scaling impossible without losing quality.
Rather than treat each feature independently, I approached this as a systems problem. I audited existing experiences across app and web, identified repeated patterns, and used that analysis to build a reusable design foundation.
Before building the next feature, I made the case to shift the team's process in three stages.
Reviewed flows across the booking journey to find repeated patterns, redundant components, and reusability gaps.
Created a design system, including buttons, inputs, cards, spacing, and interaction states, aligned with Qube's broader guidelines.
Validated the experience personally, pre- and post-launch, instead of handing off and moving to the next task.
Refined spacing, hierarchy, and seat-state clarity (available, selected, reserved, blocked) across the booking flow. This became the system-level standard for every transactional screen after it.
Designed in-app snack ordering from scratch and folded it into checkout using the same component patterns as the rest of the app, with no isolated, one-off screens.
Simplified the final review screen, including ticket details, pricing breakdown, and contact info, so users could confirm a purchase with confidence and no surprises.
Built promotional surfaces and offer pages that drove engagement while staying inside the same visual language as the core booking flow.
The real value of the system wasn't aesthetic consistency. It was organizational speed.
Clear standards meant faster decisions and fewer back-and-forth review cycles.
One source of truth eliminated ambiguity and made implementation predictable.
Predictable shipping velocity meant feature planning became more reliable.
When I started on Justickets, I thought the work was about making screens that looked good. Over that year, I realized it was about something larger: building foundations that let other people do their best work.
Designing a component system isn't glamorous. It's thinking ten steps ahead, anticipating where teams will get stuck, and removing friction before it becomes a problem.
I also learned that shipping at scale means sitting with your work after it's live. Testing it myself, finding the bugs before users do, and caring whether the spacing feels right in real light on a real device. That's not QA. That's ownership.
The best design isn't always the most beautiful one. It's the one that ships reliably, scales without breaking, and gives the people using it, and the teams building for them, clarity and confidence.
Designing at scale isn't about creating individual screens. It's about building systems that enable teams to move faster, maintain quality, and deliver consistent experiences as products evolve.
Product Designer @ Qube Cinema Technologies
View Live on Google Play โ