Transit Ticketing PWA
ATAC Roma
Self-initiated redesign concept for ATAC Roma's official ticketing platform. ATAC is Rome's public transit operator; its existing digital channel was fragmented across a low-rated app and physical points of sale (tobacco shops, kiosks, vending machines), leaving users — especially tourists — without a reliable digital purchase option. This project proposes a PWA as the unified official sales channel.
Type:
Concept Project
Role:
Product Designer
Duration:
3 weeks
View prototype
view design system

What I've designed
Information architecture organized around four user profiles (tourist, resident, regional traveler, special fare) rather than ATAC's internal fare nomenclature, including a guided flow for discounted eligibility.
Navigation system with authenticated and unauthenticated states, dynamic badge on pass status, and flow-specific behavior (bar hidden during purchase)
Core user flows covering the full purchase journey: ticket selection, payment, QR delivery, validation state, and payment error recovery
Component library for the ticket card (collapsed/expanded states), navigation bar, badge system, and all four purchase flow screens
Visual system built on a single 8px grid, institutional color usage for QR rendering, and error messaging designed as action-oriented copy rather than technical codes.




Tools
What I've learned
Discovering that ATAC already had a guided ticket recommendation flow on their website — buried and disconnected from purchase — reframed the project: the design problem wasn't inventing the right logic, it was identifying where it already existed and rescuing it. In a next iteration I would involve technical teams earlier to validate which backend integrations are actually feasible before committing to flows that depend on them.
Keep reading…
Designing for three user types with partially conflicting needs — particularly around transparency vs. privacy — required resolving those conflicts at the architecture level before touching the interface. Decisions made in the data model directly constrained what was possible to design.

DESIGN ENGINEERING

DESIGN ENGINEERING
Let's talk and build a big project
I bridge the gap between design intent and engineering execution. Here’show systematic thinking applies to both sides.
Resume
