← Indietro
Sporta — la lista della spesa dettata a voce, ordinata per il tuo supermercato
Problema
Scrivere la lista della spesa vuol dire digitare sul telefono con le mani occupate, e farla al supermercato vuol dire zigzagare tra le corsie: la lista è nell'ordine in cui ti sono venute in mente le cose, non nell'ordine dei reparti.
Ruolo
Fatta da solo, end to end: schema del database, pipeline di parsing AI, app mobile e build per gli store.
Scelte tecniche
- Speech-to-text on-device in italiano: detti la lista in cucina, e nessun audio lascia il telefono.
- Parsing AI (Claude API via Supabase Edge Functions): il parlato libero diventa articoli strutturati con quantità e prezzi indicativi.
- Ordinamento per reparti: la lista si riordina secondo la disposizione della tua catena di supermercati, così in modalità spesa segui le corsie.
- Liste condivise, senza account: la lista viaggia come link o QR; chi lo apre entra e modifica, e ogni riga mostra chi l'ha aggiunta. Modello a capability link con Row-Level Security basata sull'appartenenza.
- Dallo scontrino ai prezzi: fotografi lo scontrino — o carichi un PDF o più foto per quelli lunghi — e Claude vision lo trasforma in prezzi per articolo, rivisti riga per riga prima di salvarli.
- Dalla dieta alla spesa: il piano del nutrizionista (PDF, foto o testo) diventa un menu settimanale e le liste per comprarlo. Il piano resta solo sul dispositivo.
- Offline che regge: dettatura, modifiche e spunte funzionano senza segnale — un parser deterministico spezza il parlato in articoli, e i reparti si completano da soli al ritorno della rete.
- Tessere fedeltà: salvi le carte dei supermercati nell'app e alla cassa mostri il codice a barre.
- Flutter + Supabase: un solo codebase per iOS e Android, dietro PostgreSQL con Row-Level Security.
Risultato
In test su spese vere: detti la lista a casa, la condividi con chi fa la spesa con te, scegli il negozio e spunti gli articoli reparto per reparto con il totale parziale — una sola app da «è finito il burro» alla cassa.
Sito e privacy policy: sporta.family.