How a ticket management brief became a full native mobile app for discovering and attending live events across East Africa, from passwordless sign-up to QR venue entry.
I was the only designer on this product. That meant owning everything from initial research through to the final component spec that engineers built from. Specifically:
The PM defined priorities and managed stakeholder alignment. The three mobile engineers (iOS, Android, backend) built from my specs. I worked directly with them on implementation questions, particularly around state management and animation timing.
The original ask was straightforward: build a mobile app where attendees could manage their tickets. Store them, scan QR at the venue, share them with friends. We already had a web marketplace, but no native attendee app at all.
When I looked at that brief, I saw the gap: building an entire app just for ticket management felt incomplete. We had no buyer-side mobile experience. Meanwhile, if you're someone who just landed in Nairobi and you're trying to figure out what's happening this weekend, there's no single place to go. Plenty of platforms manage ticketing, but very few handle event discovery well.
So I expanded the scope: not just ticket management, but a full attendee experience. Discovery, purchase, and ticket lifecycle, all in one native app. The merchant tools (event creation, dashboard) already existed as separate products. This app would be where those events meet the people who attend them.
I presented the expanded scope to the PM and engineering lead with a competitive analysis and rough wireframes. After reviewing the opportunity, the team aligned on pursuing the full attendee app rather than the narrower ticket-only version.
Before opening Figma, I spent time understanding how people actually find, buy, and attend events in East Africa. Three inputs shaped the product:
"The key finding wasn't about features. It was about timing."
Most purchases happen within 48 hours of the event. That meant the app couldn't just list events chronologically; it needed to surface what's happening now and next. That insight directly shaped the date-grouped home screen and the "Today / Tomorrow / This Weekend" filter pattern.
Before settling on the current product shape, I explored several approaches. Some were dead ends. Others clarified what mattered.
The app spans the full lifecycle of attending an event. Each flow was designed as a complete journey, not isolated pages.
{{ a.body }}
The brand wants to feel like nightlife; checkout needs to feel calm and safe. I resolved this by concentrating brand energy in moments (splash, confirmation, the ticket motif) while keeping transactional screens quiet and legible.
The app is live, with 6,000+ downloads. Alongside the launch, here's what the design work produced:
Now that the app is live (6,000+ downloads), I'll keep expanding this section as post-launch usage data comes in.
Designing QR entry, the used state, and ticket sharing was as important as the sale. It's what makes the product feel trustworthy and complete.
WhatsApp verification and mobile money aren't generic defaults; they're deliberate fits for this audience. Designing for context beats importing a familiar Western pattern.
Empty searches, sold-out and used tickets, disabled buttons, and guarded destructive actions are where a design earns trust. These are the screens that separate a concept from a shippable product.
Concentrating personality in launch and confirmation lets the working screens stay calm without the product feeling generic.