Dal confronto prezzi alla piattaforma
PitStop aiuta a trovare i prezzi ufficiali dei carburanti in Italia e ad arrivare alla stazione in pochi tap. L’ho costruito come prodotto full-stack: app iOS, backend API e interfacce web che condividono gli stessi dati e gli stessi flussi.
App iOS
Esperienza nativa in SwiftUI centrata sulla mappa: cluster di stazioni, aggiornamento in base allo spostamento, filtri per tipo di carburante, preferiti, dettaglio con orari e prezzi (self/servito), cronologia e onboarding. Autenticazione, profilo e notifiche chiudono il percorso utente dal primo avvio alla stazione scelta.
Backend API
API NestJS che tiene insieme stazioni, prezzi, utenti e ricerca. Espone search geografica e testuale (Meilisearch), autenticazione, preferenze utente, import e aggiornamento dei dati ufficiali, code e job per elaborazioni ripetitive, notifiche, report e metriche. PostgreSQL come source of truth; Redis e code per lavoro asincrono.
Il backend è il contratto comune: l’app e il web parlano gli stessi endpoint per stazioni, auth e preferiti.
Dashboard e webapp
Frontend Nuxt 4 con due facce. Il backoffice copre KPI e statistiche, clienti, anagrafica stazioni (coordinate, orari, prezzi), workflow di approvazione prezzi pending, notifiche, report e impostazioni. La webapp riprende l’esperienza mappa lato browser: ricerca stazioni, preferiti e profilo, allineata ai flussi dell’app.
Auth JWT con refresh, viste protette admin/utente e mappe integrate per operare su stazioni e territorio.
Un solo prodotto, tre superfici
Stessi dati MIMIT, stessa semantica di stazione e prezzo, tre interfacce: mobile per chi cerca il pieno, web per consultazione e account, dashboard per chi governa contenuti, qualità prezzi e utenti. Ideazione, product design e sviluppo end-to-end sullo stack completo.
