SpesaGenio — L'App che Legge gli Scontrini e Confronta i Prezzi della Spesa
Un mio prodotto, ideato e sviluppato end-to-end: app Android e iOS in Ionic, Vue 3 e Capacitor, backend Laravel 13 con API REST, code di elaborazione e pannello di amministrazione. Gli utenti fotografano gli scontrini e l'app trasforma ogni riga in un prezzo condiviso, confrontabile con quello dei supermercati vicini.
1. L'Idea e la Sfida
Chi fa la spesa ogni settimana non sa quale supermercato vicino a casa venda più conveniente i prodotti che compra sempre: i volantini coprono solo le promozioni e ogni catena ha la propria tessera fedeltà. Eppure i prezzi reali esistono già, stampati su ogni scontrino.
SpesaGenio parte da qui: ogni scontrino fotografato alimenta un database condiviso dei prezzi, legato ai punti vendita e non alle persone. La sfida tecnica è stata trasformare foto spesso storte, sbiadite o lunghissime in dati affidabili, chiedendo all'utente il minimo indispensabile: confermare solo le righe incerte.
2. Dallo Scontrino al Prezzo: le Fasi di Elaborazione
L'elaborazione di ogni scontrino è una pipeline in coda sul server, in otto fasi: l'upload risponde subito e l'utente riceve una notifica quando lo scontrino è pronto da confermare.
OCR Ibrido: Telefono e Cloud
Il primo tentativo avviene sul telefono con Tesseract.js, dopo controlli di nitidezza e luminosità. Solo se la qualità non basta si passa al cloud (Azure Document Intelligence o Google Cloud Vision), dietro un'interfaccia unica che permette di cambiare provider da configurazione.
Parsing e Quadratura del Totale
Il parser riconosce insegna, partita IVA, data e righe, gestendo quantità su riga separata, prodotti a peso e sconti collegati alla riga precedente. La somma delle righe viene confrontata con il totale: se non quadra, lo scontrino viene rielaborato.
Abbinamento dei Prodotti su Cinque Livelli
Ogni descrizione abbreviata (es. CAFFE MAC.CLASS 250) viene normalizzata e abbinata al catalogo: alias per catena, ricerca fuzzy e full-text, fino al codice a barre con Open Food Facts. L'app impara: ogni conferma rafforza gli alias della catena.
Punto Vendita e Deduplica
Il negozio viene riconosciuto da partita IVA e indirizzo, con punti vendita importati da OpenStreetMap e geocoding con Nominatim. Un'impronta SHA-256 dei dati dello scontrino impedisce che lo stesso documento venga contato due volte.
Controllo delle Anomalie
Ogni prezzo viene confrontato con la mediana degli ultimi 90 giorni nello stesso punto vendita o nella zona: se si discosta troppo resta escluso finché un altro utente non lo conferma. Un punteggio di affidabilità pesa i contributi di ciascun utente.
Watchlist, Raggio e Avvisi Push
L'utente sceglie i prodotti da seguire, eventualmente con un prezzo obiettivo, e un raggio da 500 m a 50 km dalle sue zone. I job schedulati ricalcolano i prezzi correnti e inviano avvisi push con Firebase Cloud Messaging, con un limite giornaliero e un riepilogo al mattino.
3. Anteprime dell'App
4. Privacy e Sicurezza by Design
Uno scontrino contiene più dati personali di quanto sembri. Prima di ogni invio al cloud, le righe sensibili (dati di pagamento, carta, codice fiscale, tessera fedeltà) vengono oscurate con fasce a tutta larghezza; le foto sono salvate su disco privato, ricodificate senza metadati EXIF e GPS e cancellate dopo la conferma. I prezzi sono legati ai punti vendita, mai alle persone.
Lato account: autenticazione API con Laravel Sanctum e refresh token a rotazione, pannello di amministrazione con verifica in due passaggi (TOTP e codici di recupero), esportazione dei dati e cancellazione dell'account in linea con il GDPR.
5. Stack Tecnologico e Scelte di Sviluppo
App e pannello usano la stessa logica di dominio tramite servizi dedicati, mai duplicata tra API e interfaccia web. Il backend gira con code e scheduler di Laravel, con health check, log strutturati e test end-to-end sul flusso principale: registrazione, scontrino, conferma, prezzi, watchlist e avvisi.
Il Progetto in Numeri
Servizi correlati
Le competenze messe in campo in SpesaGenio sono le stesse di questi servizi:
SpesaGenio parte da Palermo, presto in tutta Italia
L'app per Android e iOS è in arrivo: sul sito trovi come funziona e puoi chiedere di essere avvisato all'uscita.