NDA Smart Mobility B2B2C · White-label B2B2C · White-label 2025 → in corso ongoing

Quattro superfici, una grammatica. Four surfaces, one grammar.

L'ecosistema era già maturo. La sfida non era aggiungere funzionalità, ma far parlare la stessa lingua a prodotti cresciuti su superfici diverse. App utenti, operatori sul campo, backoffice e frontend web — quattro superfici, cinque aziende, quattro città. Un unico sistema da rendere riconoscibile, coerente e mantenibile. The ecosystem was already mature. The challenge wasn't adding features — it was making products grown on different surfaces speak the same language. User app, field operators, backoffice, and web frontends — four surfaces, five companies, four cities. One system to make recognisable, coherent, and maintainable.

Progetto Project
Suite white-label · 5 aziende · 4 città IT White-label suite · 5 operators · 4 IT cities
Anni Years
Suite dal 2013 · io dal 2025 Suite since 2013 · me since 2025
Ruolo Role
Lead Designer · team di 5 Lead Designer · team of 5
Stato Status
In produzione · rework rilasciato In production · rework shipped
NDA

Per ragioni contrattuali, nomi, schermate e dati sensibili sono stati anonimizzati. Il processo progettuale, le decisioni e le logiche di prodotto rimangono rappresentati fedelmente. For contractual reasons, names, screenshots and sensitive data have been anonymised. The design process, decisions and product rationale remain faithfully represented.

Atto 1

Discovery Discovery

Come ho studiato il sistema prima di toccarlo. How I studied the system before touching it.

Una piattaforma cresciuta per quasi un decennio, dentro un solo ecosistema, su quattro superfici diverse. A platform grown over nearly a decade, inside one ecosystem, across four different surfaces.

La suite è nata nel 2013 come piattaforma di gestione sosta per una singola città. Negli anni si è estesa al trasporto pubblico locale, alla mobilità condivisa, ai servizi turistici. Oggi è in produzione su cinque aziende clienti in quattro città italiane, in modalità white-label: ogni azienda la usa col proprio branding, le proprie tariffe, i propri flussi di approvazione. The suite started in 2013 as a parking management platform for a single city. Over the years it expanded to public transport, shared mobility, tourist services. Today it runs in production across five operators in four Italian cities, white-label: each company runs it under its own branding, tariffs, and approval flows.

L'ecosistema vive su quattro superfici — ognuna pensata per un attore diverso, ognuna con un proprio ritmo d'uso. Tutte poggiano sullo stesso backbone dati ma per anni hanno parlato linguaggi diversi: terminologia incoerente, status non normalizzati, pattern UI che si ripetevano in tre modi diversi a seconda della pagina. The ecosystem lives on four surfaces — each built for a different actor, each with its own usage rhythm. They all sit on the same data backbone, but for years they spoke different languages: inconsistent terminology, non-normalized statuses, UI patterns repeated three different ways depending on the page.

01 · Utente finale End user

App utenti User app

iOS · Android

  • Sosta & TPLParking & transit
  • Calcola percorsoTrip planner
  • Live Activities + SiriLive Activities + Siri
  • Mobilità condivisaShared mobility
Mio perimetro My scope
02 · Operativo Field

App operatori Operator app

iOS · Android

  • Verifica titoli sostaParking-ticket checks
  • Verifica titoli viaggioTransit-ticket checks
  • Comunicazioni operativeOperational comms
Fuori perimetro Out of scope
03 · Gestione Management

Backoffice cloud Cloud backoffice

Web · 1 per cliente Web · 1 per client

  • KPI & statisticheKPIs & stats
  • Gestione titoli e tessereTitles & cards
  • Anagrafica & ruoliRecords & roles
  • Comunicazioni utentiUser comms
Mio perimetro My scope
04 · Canale web Web channel

Frontend web Web frontends

3 piattaforme · 1 per servizio 3 platforms · 1 per service

  • Titoli sosta specialiSpecial parking titles
  • Iscrizione scuolabusSchool-bus enrollment
  • Prenotazione bus turisticoTourist-bus booking
Mio perimetro My scope
Backbone dati condiviso Shared data backbone 3 su 4 superfici nel mio perimetro 3 out of 4 surfaces in my scope

Lead designer su tre superfici su quattro. Backoffice cloud: ridisegnato per intero, dall'audit alla messa in produzione. App utenti: ho riportato in superficie funzioni nascoste (calcola percorso), ideato e disegnato tutte le Live Activities e l'integrazione Siri, ottimizzato i flussi chiave. Frontend web: tre piattaforme, una per servizio, ideate da zero — IA, flow, UI, prototipi. Lead designer on three out of four surfaces. Cloud backoffice: full redesign, from audit to production. User app: surfaced hidden features (trip planner), conceived and designed all Live Activities and Siri integration, optimized key flows. Web frontends: three platforms, one per service, conceived from scratch — IA, flow, UI, prototypes.

In produzione da quasi dieci anni, nessuna manutenzione evolutiva. Sintomi ovunque. In production for nearly ten years, no evolutionary maintenance. Symptoms everywhere.

La piattaforma era cresciuta per accumulo, non per scelta. Ogni nuovo modulo aveva ereditato i pattern di chi era venuto prima, perpetuando incoerenze. Stati visualizzati come testo nudo in cinque forme diverse, ventisette ruoli in snake_case inglese dentro un'interfaccia italiana, una sidebar con diciassette voci di primo livello cresciute per stratificazione storica. The platform had grown by accumulation, not by choice. Each new module inherited the patterns of whoever came before, perpetuating inconsistencies. Statuses displayed as plain text in five different forms, twenty-seven roles in English snake_case inside an Italian interface, a sidebar with seventeen top-level entries grown by historical layering.

Il risultato operativo era che il backoffice non era affidabile. Gli operatori avevano costruito i propri sistemi di compensazione fuori dall'applicazione — database Access locali, registri Excel paralleli, post-it sui monitor. Ogni volta che una richiesta sfuggiva, partiva una telefonata, e dalla telefonata un ticket. The operational outcome: the backoffice was not reliable. Operators had built their own workarounds outside the app — local Access databases, parallel Excel registers, post-its on monitors. Every time a request slipped through, a phone call followed, and from the call a ticket.

01 · Architettura 01 · Architecture

17 voci di primo livello in sidebar · sezione Sosta esplosa in 10 sotto-voci. 17 top-level sidebar entries · Parking section bloated to 10 sub-entries.

02 · Permessi 02 · Permissions

27 ruoli in snake_case inglese nel modello permessi · niente descrizione in UI. 27 roles in English snake_case in the permission model · no UI description.

03 · Stati 03 · Statuses

5+ forme per gli stati: terminated · pending · Approvato · attivo · Da Approvare. 5+ forms for statuses: terminated · pending · Approvato · attivo · Da Approvare.

04 · Formattazione 04 · Formatting

Date in formato tecnico YYYY-MM-DD HH:MM:SS ovunque, mai localizzate. Dates in tech format YYYY-MM-DD HH:MM:SS everywhere, never localized.

05 · UI base 05 · UI baseline

Bootstrap 3 · sidebar non collassabile · niente modalità compact · tabelle senza header sticky. Bootstrap 3 · non-collapsible sidebar · no compact mode · tables without sticky headers.

06 · Workaround 06 · Workarounds

Access locali, registri Excel paralleli, post-it sui monitor — sistema non fidato. Local Access DBs, parallel Excel registers, post-its on monitors — system not trusted.

07 · App utenti 07 · User app

Calcola percorso nascosto in pagina dedicata · usato dal 10% dell'utenza TPL. Trip planner buried in a dedicated page · used by 10% of transit users.

08 · Canali web 08 · Web channels

Inesistenti · chi non aveva l'app andava in sportello fisico o mandava mail. Nonexistent · non-app users walked into the front-office or sent an email.

"Per certi titoli ci eravamo costruiti un Access in locale: senza, non riuscivamo a tenere il conto." "For some titles we'd built a local Access database — without it, we couldn't keep track." Operatore di backoffice · sintesi da intervista Backoffice operator · paraphrased from interview

Prima il metodo, poi la decisione. Method first, decision later.

In una piattaforma con così tanto debito tecnico e così tanti utenti reali, partire dal "ridisegnamo le schermate brutte" sarebbe stato suicida. Ho lavorato in quattro fasi sequenziali, ognuna con un output negoziabile col team prima di passare alla successiva. In a platform with this much technical debt and this many real users, starting from "let's redesign the ugly screens" would have been suicidal. I worked in four sequential phases, each producing a deliverable negotiated with the team before moving on.

01 · AUDIT

Materiale grezzo Raw material

12 interviste in 4 tornate su 2 clienti. Walkthrough pagina per pagina. Analisi storica dei ticket. 12 interviews across 4 rounds with 2 clients. Page-by-page walkthrough. Historical ticket analysis.

02 · INSIGHT

Clusterazione Clustering

Problemi funzionali, problemi interfaccia, nice to have. Otto principi cross-section emergenti. Functional, interface, nice-to-have. Eight cross-section principles emerging.

03 · SISTEMA

Tre ipotesi di IA Three IA hypotheses

Conservativa (17→13) · per dominio (17→9) · per workflow. Confronto esplicito di rischio. Conservative (17→13) · by domain (17→9) · by workflow. Explicit risk comparison.

04 · DECISIONE

Ipotesi B Hypothesis B

Per dominio operativo. Riflette il lavoro reale di chi sta al banco. Adottata dai clienti. By operational domain. Mirrors how front-desk staff actually work. Adopted by clients.

Dal materiale grezzo alla decisione — tre stage From raw material to decision — three stages

01 · Input — materiale grezzo 01 · Input — raw material

Interviste Interviews

12 sessioni in 4 tornate, su 2 clienti. Sportello, supervisori, verifier. 12 sessions in 4 rounds, with 2 clients. Front-desk, supervisors, verifiers.

Walkthrough Walkthrough

Pagina per pagina su tutto il backoffice. Problemi categorizzati. Page by page across the entire backoffice. Issues categorized.

Analisi ticket Ticket analysis

Storico di assistenza e workaround operativi. Support history and operational workarounds.

02 · Clusterazione 02 · Clustering

Insight clusterati per tipologia Insights clustered by type

Funzionali · interfaccia · nice to have — più otto principi cross-section ricorrenti. Functional · interface · nice-to-have — plus eight cross-section principles recurring.

03 · Output del sistema 03 · System output

8 principi cross-section 8 cross-section principles

Regole applicate a oltre 100 pagine. Diventano il sistema di design. Rules applied to 100+ pages. They become the design system.

3 ipotesi di IA 3 IA hypotheses

A conservativa · B per dominio · C per workflow. Adottata la B. A conservative · B by domain · C by workflow. B adopted.

Tre profili compositi emersi dalle interviste — sintesi reali, non personaggi inventati. Three composite profiles emerging from the interviews — real syntheses, not invented characters.

01

Operatore di sportello Front-desk operator

Vede decine di utenti al giorno. Attiva titoli speciali, gestisce richieste cartacee, rilascia tessere, risolve casi al volo. Lavora sotto pressione di coda fisica. Sees dozens of users a day. Activates special titles, handles paper requests, issues cards, resolves cases on the fly. Works under physical-queue pressure.

"Quando ho la coda davanti, mi rendo conto che ogni passaggio in più lo paghi. Anche solo aspettare che si carichi un'altra pagina, quando hai gente che ti guarda, è tanto." "When I've got a queue in front of me, every extra step costs you. Even just waiting for another page to load, with people watching, feels like a lot."

02

Supervisore del campo Field supervisor

Coordina i controllori in turno, monitora la copertura zone, gestisce le segnalazioni. Vive su mappe live e dashboard. Decide dove muovere risorse in tempo reale. Coordinates field controllers, monitors zone coverage, handles user reports. Lives on live maps and dashboards. Decides where to move resources in real time.

"Sulla mappa vedo i puntini, ma se non capisco al volo chi sto guardando — chi è in turno, chi è in pausa — io non lo posso spostare nessuno." "I see the dots on the map, but if I can't tell at a glance who I'm looking at — who's on shift, who's on break — I can't move anyone around."

03

Operatore di controllo titoli Title-verification operator

Verifica scansioni di titoli sosta e viaggio, indaga le anomalie nello storico, valida le contestazioni delle multe. Consulta tabelle ogni giorno, su mesi di dati. Reviews parking and transit ticket scans, investigates historical anomalies, validates fine disputes. Queries tables daily, across months of data.

"Mi capita di dover guardare tipo ventotto pagine di tabella dove c'è scritto 'Valido' ovunque, e devo trovare quello strano in mezzo. Non sai mai dove sta, e ci perdi mezza mattinata." "Sometimes I have to scan twenty-eight pages of table where every row says 'Valid', and I have to find the odd one out. You never know where it is, and there goes half your morning."

Atto 2

Design Design

Una grammatica unica, tre superfici diverse. One grammar, three different surfaces.

La grammatica del rework — otto regole, valide su decine di pagine. The grammar of the rework — eight rules, valid across dozens of pages.

Ridisegnare cento pagine senza un sistema avrebbe perpetuato il problema iniziale. Ho estratto otto principi trasversali dall'audit, ognuno valido su decine di pagine. Quando un problema si è ripresentato in una nuova schermata, non l'ho risolto caso per caso: ho applicato il principio. Questo ha dimezzato il tempo di disegno della seconda metà del backoffice e ha reso il sistema mantenibile dopo il mio passaggio. Redesigning a hundred pages without a system would have perpetuated the original problem. I extracted eight cross-cutting principles from the audit, each valid across dozens of pages. When a problem reappeared on a new screen I didn't solve it case by case: I applied the principle. This halved the design time of the second half of the backoffice and made the system maintainable past my involvement.

01 · Ruoli

Riordino permessi Permission reorder

27 ruoli snake_case → 6 aree in italiano con descrizione. 27 roles in snake_case → 6 areas in Italian with descriptions.

02 · Status

Vocabolario unificato Unified vocabulary

5 forme in 3 lingue → badge semantici in italiano. 5 forms in 3 languages → semantic badges in Italian.

03 · Statistiche

Architettura unica Single architecture

8 grafici identici → KPI + 1 trend + bar chart top-N. 8 identical charts → KPIs + one trend + top-N bar chart.

04 · Lingua

Localizzazione completa Full localization

Firstname, Searchitaliano coerente + glossario. Firstname, Searchcoherent Italian + glossary.

05 · CTA

Positive vs distructive Positive vs destructive

"OK" blu su Elimina → Elimina sempre rosso, secondary per annulla. Blue "OK" on Delete → Delete always red, secondary to cancel.

06 · Tabelle

Filtri come tab in cima Filters as top tabs

28 pagine di "Valido" → filtro per stato + sticky header + compact. 28 pages of "Valid" → filter by status + sticky header + compact mode.

07 · KPI

Card vere, mai testo nudo Real cards, never plain text

"Totale: 396" inline → card con dato grande + varianza esplicita. "Total: 396" inline → cards with large numbers + explicit variance.

08 · Workflow

Stati come ticketing States as ticketing

Stati piatti, no azioni → Richiesta → Approvata → Chiusa, azioni in riga. Flat states, no actions → Request → Approved → Closed, inline actions.

Effetto composto: applicati a oltre 100 pagine, hanno dimezzato il tempo di disegno della seconda metà del rework. Compound effect: applied to 100+ pages, they halved the design time of the second half of the rework.

Glossario terminologico — sei termini canonici Terminology glossary — six canonical terms

I principi non sono rimasti astratti. Il principio 04 (lingua) ha generato un glossario condiviso col team dev — sei termini canonici che hanno sostituito decine di sinonimi convivevano sulle pagine. Principles didn't stay abstract. Principle 04 (language) produced a shared glossary with the dev team — six canonical terms replaced dozens of synonyms that used to coexist across pages.

tessera mensile tessera annuale
abbonamento
domanda istanza pratica
richiesta
terminated cancellato chiuso
scaduto archiviato
Firstname Surname Search
Nome Cognome Cerca
verifier controllore accertatore
verificatore
YYYY-MM-DD HH:MM:SS
15 mar 2026, 14:30

Un backoffice ridisegnato da zero — dall'audit alla messa in produzione. A backoffice redesigned from scratch — from audit to production.

Diciassette voci di primo livello erano cresciute per stratificazione. Verifiche e posizioni controllori erano spezzate per ambito invece che per funzione. La Sosta era esplosa in dieci sotto-voci con nomi sovrapponibili. La struttura finale raggruppa per dominio operativo: ogni macro-area in sidebar riflette il modo in cui un operatore pensa al proprio lavoro, non il modo in cui il backend organizza i moduli. Seventeen top-level entries had grown by stratification. Verifications and controller positions were split by domain instead of function. Parking had exploded into ten sub-entries with overlapping names. The final structure groups by operational domain: each sidebar macro-area mirrors how an operator thinks about their work, not how the backend organizes its modules.

L'app era già potente. Il problema non era costruire, era riportare in superficie. The app was already powerful. The problem wasn't building, it was surfacing.

Sosta, TPL, mobilità condivisa, servizi turistici: tutto già presente, tutto già funzionante. Il problema era riportare in superficie le funzioni esistenti e dare loro un'integrazione di sistema operativo che le moltiplicasse — Live Activities, Siri, una home che mostrasse la prima azione utile invece di nasconderla in una pagina dedicata. Parking, transit, shared mobility, tourist services: all present, all working. The problem was bringing existing features to the surface and giving them OS-level integration that would multiply them — Live Activities, Siri, a home screen showing the first useful action instead of burying it.

Calcola percorso — da pagina nascosta a prima azione visibile Trip planner — from buried page to first visible action

Prima del rework, calcolare un percorso TPL richiedeva due tap: aprire il burger menu e cercare la voce tra le altre, con label poco evocative. Appena il 10% degli utenti TPL la trovava. Chi la scopriva ci tornava regolarmente — la funzione era buona, la sua superficie no. L'ho rimessa al centro della home con un pattern di morphing: il pulsante centrale della tab bar e una barra di ricerca compatta si scambiano di posto a seconda del contesto. Before the rework, calculating a transit route required two taps: opening the burger menu and hunting for the entry among the others, with weak labels. Barely 10% of transit users found it. Those who did discover it kept coming back — the feature was good, its surface wasn't. I brought it back to the center of the home with a morphing pattern: the tab-bar center button and a compact search bar swap places depending on context.

Prima · 2 tap · 10% utenti TPL Before · 2 taps · 10% of transit users
Dopo · 1 tap · in home After · 1 tap · on home
01 · Apri app 01 · Open app

Burger menu in alto Burger menu, top corner

L'unico accesso è il burger. Calcola percorso non è una voce visibile in home. The only access is the burger. Trip planner is not visible on home.

01 · Apri app 01 · Open app

Pulsante in tab bar Button in the tab bar

"Calcola un percorso" — visibile in home, sempre. "Plan a trip" — visible on home, always.

02 · Tap sul burger 02 · Tap the burger

Cerco tra le voci Hunting in the list

Trovo "Calcola percorso" tra altre 6 voci di menu, con label poco evocativa. "Trip planner" sits among 6 other menu entries, with a weak label.

02 · Tap & morphing 02 · Tap & morphing

Si trasforma in search bar Morphs into a search bar

Animazione di sistema · niente cambio pagina · niente perdita di contesto. System animation · no page change · no loss of context.

03 · Pagina dedicata 03 · Dedicated page

Form lungo, niente default Long form, no defaults

Niente geolocation, niente CTA su titoli. Molti utenti escono dal flow. No geolocation, no ticket CTAs. Many users drop out.

03 · Itinerari + CTA 03 · Itineraries + CTA

Geolocation + ora pre-compilate Geolocation + time pre-filled

Inverti capolinea, salva itinerario, → attiva o acquista il titolo digitale. Swap endpoints, save itinerary, → activate or buy the digital ticket.

Risultato misurato Measured outcome

10%

degli utenti TPL la usava abitualmente. Chi la scopriva tornava — ma erano pochi. of transit users used it regularly. Those who discovered it kept coming back — but few did.

Risultato misurato Measured outcome

×3

utenza ricorrente più che triplicata. Oltre il 70% di chi avvia un itinerario attiva un titolo digitale. recurring users more than tripled. Over 70% of those who start an itinerary activate a digital ticket.

Live Activities — l'app che lavora senza essere aperta Live Activities — the app working without being opened

Tre attività live. La sosta attiva: timer in conto alla rovescia, CTA "Estendi" raggiungibile dal lock screen. Il TPL "prossima fermata": parte automaticamente quando i beacon a bordo bus rilevano l'utente. L'itinerario: la più densa, mostra quante fermate mancano alla destinazione, quale autobus prendere al prossimo cambio, ETA al capolinea. Three live activities. Active parking: countdown timer, "Extend" CTA reachable from the lock screen. Transit "next stop": auto-starts when on-board beacons detect the user. Itinerary: the densest, shows how many stops to destination, which bus to take at next change, ETA at the endpoint.

L'itinerario è la live activity di cui sono più soddisfatto. Lo spazio della Dynamic Island e del lock screen è poco, le informazioni sono molte, l'utente sta camminando o è in piedi su un bus che balla. Ho dovuto trovare una grammatica che permettesse di leggere lo stato in mezzo secondo: la fermata corrente in grande, il countdown alla destinazione in evidenza, il cambio bus segnalato solo quando imminente. The itinerary is the live activity I'm most satisfied with. Dynamic Island and lock-screen space is scarce, information is dense, and the user is walking or standing on a bouncing bus. I had to find a grammar that allowed reading the state in half a second: the current stop large, the countdown to destination prominent, the bus change signaled only when imminent.

Siri + flussi chiave — la regola della costante Siri + key flows — the rule of consistency

La sosta è un'azione ricorrente, ripetuta più volte al giorno. Ho integrato Siri per coprirla in voice — avviare, fermare, estendere — senza dover toccare il telefono. Per chi paga la sosta tutti i giorni, è la differenza tra aprire l'app cinque volte e dire una frase. Parking is a recurring action, repeated multiple times a day. I integrated Siri to cover it in voice — start, stop, extend — without touching the phone. For someone paying for parking daily, it's the difference between opening the app five times and saying a sentence.

Sui flussi chiave ho lavorato in modo sistematico — richiesta abbonamenti, iscrizione scuolabus, ricarica credito, pagamento titoli. Stessa ricetta: rimuovere campi che si possono derivare, anticipare il default, ridurre i tap, dare conferma visibile a ogni step. Niente di rivoluzionario, applicato con costanza su sei mesi. On key flows I worked systematically — subscription requests, school-bus enrollment, top-ups, ticket payments. Same recipe: remove fields that can be derived, anticipate defaults, reduce taps, give visible confirmation at every step. Nothing revolutionary, applied consistently over six months.

Tre canali web per chi non ha l'app — e una frizione che si dimezza. Three web channels for those without the app — and friction that halves.

Un pezzo di mondo non era coperto: i cittadini senza smartphone, o con smartphone ma riluttanti a installare un'altra app, o per servizi sporadici come l'iscrizione scuolabus. Per anni questa fetta si era dovuta presentare in sportello fisico o mandare mail. A slice of the world wasn't covered: citizens without smartphones, or with smartphones but reluctant to install another app, or services that are sporadic like school-bus enrollment. For years this slice had to walk into the front-office or send an email.

Ho ideato e disegnato tre frontend web indipendenti — uno per titoli di sosta speciali, uno per iscrizione scuolabus, uno per prenotazione bus turistico. Servizi diversi, utenti diversi, ma stessi vincoli progettuali e stessa grammatica visiva del backoffice: tipografia editoriale, label esplicite, errori chiari, conferma visibile a ogni step. I conceived and designed three independent web frontends — one for special parking titles, one for school-bus enrollment, one for tourist-bus booking. Different services, different users, but the same design constraints and the same visual grammar as the backoffice: editorial typography, explicit labels, clear errors, visible confirmation at every step.

I form sono lunghi per natura — soprattutto lo scuolabus, il più denso — e li ho costruiti come progressioni a step lineari: stato di avanzamento sempre visibile, salvataggio della bozza automatico, autocomplete indirizzo, upload documenti con preview e validazione client-side. Niente reload, niente perdita di dati a metà compilazione, niente "errore" senza spiegazione. Forms are long by nature — especially school bus, the densest — and I built them as linear step progressions: progress always visible, automatic draft saving, address autocomplete, document upload with preview and client-side validation. No reloads, no data loss mid-fill, no "error" without explanation.

La leva moltiplicatrice è stata l'integrazione diretta col backoffice. Le richieste compilate sui frontend web entrano nel backoffice già strutturate, già validate, già pronte per essere approvate in un clic. Anche quando l'utente si presenta comunque allo sportello, l'operatore apre la stessa interfaccia web a fianco e la usa come scheda di inserimento — niente doppia digitazione, niente errori di trascrizione. The multiplier was direct backoffice integration. Requests filled on the web frontends enter the backoffice already structured, already validated, ready to be approved in one click. Even when the user shows up at the desk anyway, the operator opens the same web interface alongside as a direct entry sheet — no double-typing, no transcription errors.

Tre piattaforme, oggi in produzione su tre dei cinque clienti. L'effetto cumulativo è netto: il frontoffice fisico si è ridotto di circa la metà, le pratiche scorrono più velocemente, gli operatori passano meno tempo a riscrivere e più tempo a risolvere casi reali. Three platforms, in production today on three of five clients. The cumulative effect is sharp: the physical front-office has been cut roughly in half, requests move faster, and front-desk operators spend less time re-typing and more time solving real cases.

Atto 3

Impact Impact

Cosa è realmente cambiato, e cosa mi sono portato via. What actually changed, and what I took away.

I numeri arrivano dopo. Prima dei numeri, la cosa concreta che è cambiata è la giornata. Numbers come later. Before the numbers, what concretely changed is the day.

Sotto, quattro momenti di una giornata-tipo di operatore prima e dopo il rework. Le metriche subito dopo confermano il pattern. Below, four moments of a typical operator day before and after the rework. The metrics that follow confirm the pattern.

01

Utente allo sportello User at the desk

Prima Before

Quattro pagine aperte — anagrafica, titoli, tessere, ricariche — una per scheda. L'operatore salta tra tab per ricostruire chi ha davanti. Four open pages — records, titles, cards, top-ups — one per tab. The operator hops between tabs to piece together who's in front.

Dopo After

Scheda cliente unificata: tutto su una sola pagina, con tab interne. La storia dell'utente sta sotto un colpo d'occhio. Unified customer card: everything on one page, with internal tabs. The user's history sits under one glance.

02

Controllo titoli speciali Special title check

Prima Before

L'operatore apre l'Access locale — il workaround per non perdere i titoli che il backoffice gestiva male. The operator opens the local Access DB — the workaround built to avoid losing titles the backoffice mishandled.

Dopo After

Tutti i titoli vivono nella scheda del cliente. Access dismesso: il sistema è di nuovo l'unica fonte di verità. Every title lives in the customer card. Access retired: the system is the single source of truth again.

03

Modifica dati anagrafici Editing user records

Prima Before

Campi non editabili dall'UI. Per ogni correzione, script ad hoc sul DB o chiamata al team di sviluppo. Fields uneditable from the UI. Every correction means ad-hoc DB scripts or a call to the dev team.

Dopo After

Edit inline, validazione client automatica, audit log integrato. Ogni cambiamento è tracciato e reversibile. Inline edit, automatic client-side validation, built-in audit log. Every change is tracked and reversible.

04

Controllo stato pratica Request status check

Prima Before

"terminated" come testo nudo, in inglese, da decodificare ogni volta. Nessun filtro per stato in tabella. "terminated" as plain English text, decoded every time. No status filter in the table.

Dopo After

Badge colorato in italiano, riconoscibile a colpo d'occhio. Il filtro per stato vive come tab in cima alla tabella. Coloured Italian badge, glanceable. The status filter lives as tabs at the top of the table.

Stesse azioni, nessuna frizione. Coda fluida, ticket sporadici, workaround dismessi, sistema fidato di nuovo. Same actions, no friction. Fluid queue, sporadic tickets, workarounds retired, system trusted again.

Otto numeri · sei mesi dopo il rilascio · cinque clienti in produzione. Eight numbers · six months post-release · five clients in production.

Dai più contatti al giorno a casi sporadici From multiple contacts a day to sporadic cases Ticket di assistenza backoffice Backoffice support tickets Confronto 6 mesi pre/post · tutti i clienti 6-month pre/post comparison · all clients
+20% Pratiche gestite per settimana Requests processed per week Stesso organico, niente turni aggiuntivi Same headcount, no extra shifts
~50% Affluenza al frontoffice fisico Physical front-office footfall Ridotta di circa la metà · 3 clienti con frontend web Roughly halved · 3 clients with web frontends
~100% Completion rate sui frontend web Web frontend completion rate Drop-off sporadici, distribuiti sul funnel Sporadic drop-offs, distributed across the funnel
+10% stabili DAU e MAU app utenti User app DAU & MAU Crescita stabile post-rilascio, niente picchi artificiali Stable growth post-release, no artificial spikes
×3 Utenza ricorrente calcola percorso Trip-planner recurring users Più che triplicata dopo il riposizionamento in home More than tripled after home repositioning
>70% Avvia itinerario → attiva titolo digitale Starts itinerary → activates digital ticket Feature che prima non esisteva A feature that didn't exist before
>50% Utenti iOS che usano le Live Activities iOS users using Live Activities Adozione organica, niente push promozionali Organic adoption, no promotional push

Tutte le metriche sono in range smussati rispetto ai numeri interni, per integrità del NDA. I dati reali sono ovunque più alti — il punto è il pattern, non la cifra puntuale: ogni superficie del prodotto è oggi più usata, più velocemente, da più persone, con meno frizione. All metrics are in conservative ranges relative to internal numbers, for NDA integrity. Real figures are everywhere higher — the point is the pattern, not the exact figure: every surface of the product is today used more, faster, by more people, with less friction.

Tre verità di sistema che porto via dal progetto. Non valgono solo nella mobilità urbana. Three system truths I take away from the project. They hold beyond urban mobility.

01

Un audit fatto bene vale sei mesi di feature non chieste. A proper audit is worth six months of unrequested features.

Su un prodotto in produzione da quasi un decennio, la tentazione era partire dalle schermate brutte e cominciare a rifarle. Fermarsi per dodici interviste, quattro tornate, un walkthrough completo del backoffice e un'analisi storica dei ticket è sembrata, all'inizio, un'indulgenza. È stata la differenza tra una serie di cerotti e un sistema che regge. On a product in production for nearly a decade, the temptation was to start from the ugly screens and patch them up. Stopping for twelve interviews, four rounds, a full backoffice walkthrough and historical ticket analysis felt, at first, like an indulgence. It was the difference between a series of band-aids and a system that holds.

02

Il backoffice è il moltiplicatore. Un operatore felice salva dieci utenti finali. The backoffice is the multiplier. One happy operator saves ten end users.

In genere, quasi tutta l'attenzione di prodotto va verso le superfici consumer — ed è giusto che vada lì. Su questa suite la leva era opposta: ticket ridotti, pratiche più veloci, e un sistema di cui chi sta al banco si fida hanno reso più fluida ogni interazione con il cittadino. La parte B2B del prodotto consumer è dove il budget di design paga gli interessi più alti. Most product attention usually goes toward consumer surfaces — rightly so. On this suite the leverage was the opposite: fewer tickets, faster requests, and a system the front-desk staff actually trusts made every interaction with the citizen smoother. The B2B side of a consumer product is where the design budget pays the highest interest.

03

L'architettura informativa prima dell'UI. Information architecture before UI.

Avere speso settimane sulle tre ipotesi di architettura informativa, prima di abbozzare una singola schermata, ha azzerato il rework di disegno. Quando ci siamo seduti a ridisegnare le pagine, la struttura era già negoziata, il design system era già chiaro, i nodi politici già sciolti. È la fase del progetto di cui sono più orgoglioso — non perché ha prodotto qualcosa di vistoso, ma perché ha permesso a tutto il resto di accadere senza attriti. Spending weeks on the three IA hypotheses, before sketching a single screen, eliminated downstream rework. When we sat down to redesign the pages, the structure was already negotiated, the design system was already clear, the political knots already untied. It's the phase of the project I'm proudest of — not because it produced something showy, but because it let everything else happen without friction.