Memo Hero
Anagrafica centralizzata, reminder automatici e gestione regali per una struttura ricettiva: Memo Hero traccia compleanni, anniversari di soggiorno e festività e trasforma ogni data in un'azione — email o regalo fisico — con un click.
Il problema
La struttura gestiva duemila contatti tra ospiti, partecipanti a conferenze e relazioni professionali, ma ogni anagrafica viveva in un foglio Excel diverso. Tenere traccia di compleanni, anniversari di soggiorno e festività era un lavoro manuale: controllare le date, ricordarsi all'ultimo momento, scrivere auguri di corsa.
Il vero problema non erano i dati, ma il passaggio all'azione: quando scattava un anniversario di soggiorno — "è passato un anno che Paolo Rossi ha soggiornato da noi" — non esisteva un modo semplice per trasformare quella data in un'azione concreta — email o regalo — senza passaggi manuali.
La gestione regali viveva negli stessi fogli Excel frammentati: lo storico c'era ma non era centralizzato né collegato all'anagrafica. Il risultato erano duplicati — lo stesso regalo due volte alla stessa persona — e il panico da "cosa gli avevo preso l'anno scorso?".
I contatti arrivavano da fonti diverse: CRM della struttura, gestionali esterni, fogli Excel. Ogni importazione era manuale, con formattazioni incoerenti e campi che non tornavano. Serviva un sistema che unificasse tutto e rendesse l'import un'operazione semplice, non un progetto.
Come l'ho affrontato
Anagrafica centralizzata con campi dedicati per ogni data significativa — compleanni, anniversari di soggiorno, festività. I contatti vengono importati da Excel e CRM esterni con un parser custom che normalizza formattazioni e campi così i dati finiscono tutti nello stesso posto senza lavoro manuale.
I reminder funzionano con Laravel Notifications e laravel-snooze: lo scheduler controlla le date ogni giorno e notifica automaticamente con anticipo configurabile — un giorno prima, una settimana, come si preferisce. Quando scatta un reminder — "è passato un anno che Tizio ha soggiornato da noi" — l'operatore vede un'attività da completare.
Ogni attività si traduce in un'azione concreta: mailing list personalizzata con template inviato via code Redis e Horizon su Mailgun SMTP oppure registrazione di un regalo fisico con data e destinatario. Le email partono in chunk da 100 per gestire i volumi senza intoppi, con un contatore real-time via WebSocket che mostra all'operatore quanti messaggi ha effettivamente raggiunto l'SMTP.
La gestione regali è integrata nella scheda contatto: storico completo di cosa è stato regalato, a chi e quando. Zero duplicati, zero ripensamenti. Ogni azione — email o regalo — è tracciata e collegata al contatto.
L'interfaccia è costruita con Inertia.js e React: una scelta deliberata per diversificare rispetto a Livewire, con un budget che lo consentiva. Navigazione fluida tipo SPA senza la complessità di due codebase separate. Laravel gestisce la logica, React rende l'esperienza reattiva.

Architettura & Tecnologie
Monolite Laravel con frontend Inertia.js + React: Inertia elimina la necessità di un'API REST separata — Laravel espone le route, React le consuma nativamente. MySQL per persistenza relazionale (anagrafiche, date, storico regali, attività). Redis con Horizon per le code asincrone: invio email in chunk da 100 su Mailgun SMTP, con contatore real-time via WebSocket. I reminder sono gestiti da laravel-snooze con il task scheduler di Laravel — un cron giornaliero controlla le date e genera le attività. L'app è hosted su AWS.
Caratteristiche principali
Anagrafica centralizzata con import Excel/CRM: parser custom che normalizza dati da fonti diverse in un unico archivio
Reminder automatici con laravel-snooze: compleanni, anniversari di soggiorno, festività — ogni data genera un'attività da completare
Doppia azione per ogni reminder: mailing list personalizzata via Mailgun o registrazione regalo fisico, con storico integrato
Invio email in chunk da 100 con contatore real-time via WebSocket: l'operatore vede quanti messaggi ha raggiunto l'SMTP mentre succede
Storico regali nella scheda contatto: cosa è stato regalato, a chi, quando — zero duplicati, sempre visibile
Ogni data scattata diventa un task assegnato, tracciato e completato — niente passaggi manuali dispersi nei fogli.

In pratica


Risultati
Fogli Excel eliminati: duemila contatti tra ospiti, partecipanti e relazioni professionali gestiti in un'unica anagrafica, importati da CRM e gestionali esterni con un'operazione semplice.
Zero compleanni e anniversari dimenticati: il sistema controlla le date ogni giorno e genera attività automaticamente — "è passato un anno che Tizio ha soggiornato da noi" diventa un task assegnato, non un pensiero dimenticato.
Tempo di preparazione auguri ridotto da ore a pochi minuti: l'operatore filtra per data, struttura e tipo di soggiorno, sceglie il template e invia — decine o centinaia di email partono in chunk da 100 senza bloccare nulla.
Visibilità in tempo reale sugli invii: il contatore WebSocket mostra quanti messaggi ha raggiunto l'SMTP mentre l'operatore continua a lavorare. Nessun bisogno di controllare log o dashboard esterne.
Gestione regali finalmente tracciata: ogni regalo è registrato nella scheda contatto con data e destinatario. I duplicati — lo stesso regalo alla stessa persona — sono eliminati alla radice.
Tool dichiarato utile: prima fogli Excel frammentati e import manuali, ora importano da CRM, filtrano per soggiorno e struttura, creano attività in automatico.
Un problema simile al tuo?
Parliamone: costruiamo qualcosa che regga al primo colpo e per gli anni a venire.
Parliamone