Gestionale interno che unisce call center, CRM, formazione, amministrazione e HR in un’unica piattaforma.
J-Road Academy è una realtà della formazione che lavora su un ciclo lungo: un contatto arriva da una campagna o da un webinar, viene chiamato, valutato, iscritto con una pratica documentale, e da lì entra in un percorso formativo con esami e scadenze. Nel mezzo ci sono agenti, docenti, amministrazione e personale da coordinare.
Ogni reparto, preso da solo, ha bisogni gestibili. Il problema nasce dal fatto che sono tutti lo stesso flusso visto da punti diversi: il lead del call center è il cliente del CRM, che è l’iscritto della formazione, che è la pratica dell’amministrazione. Quando ogni reparto tiene i propri dati, la stessa persona esiste in quattro versioni che divergono nel tempo.
A questo si aggiunge una complessità organizzativa non comune: diciotto ruoli distinti, dai manager di reparto agli operatori, dagli agenti ai docenti fino al tutor d’aula. Ognuno deve vedere quello che gli serve e non vedere il resto — e in un’azienda che tratta documenti d’identità e dati di reddito, non è una questione di ordine ma di riservatezza.
Quasi tutti i CRM offrono tre stati: nuovo, in lavorazione, chiuso. Il call center di un’academy ne vive molti di più, e ognuno corrisponde a un’azione diversa da parte di una persona diversa.
L’obbligo di indicare perché un lead è stato perso è la scelta che produce più valore nel tempo. Un contatto chiuso senza motivo è un dato che non insegna niente; settemila contatti chiusi con il motivo registrato dicono se il problema sta nel prezzo, nella qualità delle liste o nella zona — e quindi dove intervenire.
Le sorgenti sono tracciate allo stesso modo, distinguendo un contatto arrivato da una campagna da uno arrivato da un webinar o da un passaparola. È l’unico modo per sapere quale canale porta persone che comprano davvero, invece di quale canale porta più nomi.
Quando un contatto decide di iscriversi comincia la parte che più spesso si blocca: raccogliere i documenti, verificarli, approvare. È un passaggio che coinvolge tre soggetti — il cliente che consegna, l’operatore che carica, l’amministrazione che decide — e che tradizionalmente vive di email e cartelle condivise.
Un documento come la carta d’identità ha due facciate, e all’inizio il sistema ne accettava una sola per tipo. È il genere di vincolo che sembra ragionevole quando si progetta e che si rivela sbagliato il primo giorno di uso reale: l’abbiamo rimosso, e ora una pratica può avere più file per lo stesso tipo di documento.
Un percorso formativo è fatto di scadenze, e ogni scadenza richiede che qualcuno avvisi qualcun altro. Mandare le credenziali, dire che il materiale è pronto, ricordare l’esame, comunicare l’esito: sono comunicazioni prevedibili, ripetitive e sempre uguali nella forma — e proprio per questo vengono dimenticate, perché nessuna di esse è urgente finché non è troppo tardi.
La sequenza dei tre promemoria d’esame — una settimana prima, tre giorni prima, il giorno prima — non è un eccesso di zelo: è la differenza tra uno studente che si presenta e uno che salta la sessione, e una sessione saltata va riprogrammata, il che costa a tutti.
C’è poi un avviso che non va allo studente ma all’interno: quando una sessione d’esame raggiunge metà dei posti, il sistema lo segnala. È il momento in cui conviene decidere se aprirne un’altra — una decisione che, presa quando la sessione è già piena, arriva sempre in ritardo.
I testi non sono scritti nel codice ma sono modelli modificabili dall’interno, con i campi che si riempiono da soli. Chi si occupa della formazione può cambiare una comunicazione senza chiedere niente a nessuno — che è la condizione perché quei testi restino aggiornati invece di invecchiare.
In quasi tutte le aziende con cui lavoriamo il coordinamento quotidiano avviene su un’app di messaggistica personale. Funziona, fino a quando non serve ritrovare cosa era stato detto su una pratica specifica: a quel punto l’informazione è dentro una conversazione privata di qualcuno, mescolata a tutto il resto, e spesso su un telefono che non appartiene all’azienda.
Il gestionale ha una messaggistica propria, con conversazioni a più partecipanti, conteggio dei non letti e stato di lettura. Accanto c’è un sistema di notifiche che avvisa quando qualcosa richiede attenzione — una risposta a una nota, un passaggio che tocca a te.
Il vantaggio non è tecnologico ma organizzativo: una discussione che avviene dentro lo stesso sistema dove stanno i dati resta accanto ai dati. E quando una persona lascia l’azienda, quello che ha scritto non se ne va con il suo telefono.
Chi si iscrive non è un utente del gestionale: ha un accesso distinto, con credenziali proprie, da cui vede solamente ciò che lo riguarda — i suoi documenti, il suo percorso.
È una separazione che conta più di quanto sembri. Tenere gli iscritti dentro lo stesso sistema del personale, differenziandoli solo con un ruolo, significa che un errore di configurazione può esporre a uno studente dati che non deve vedere. Due porte d’ingresso diverse rendono quell’errore molto più difficile.
Per l’academy il risultato pratico è che i documenti smettono di viaggiare via email. Un iscritto che cerca il proprio materiale o un proprio certificato entra e lo trova, invece di scrivere in segreteria — e la segreteria smette di rispondere ogni giorno alle stesse richieste.
Il gestionale non ha una sola interfaccia: ne ha una per ruolo. Ogni voce di menù è associata ai ruoli che possono vederla, e chi non li ha non trova la voce — non la trova disabilitata, non la trova affatto. Se nessuna sotto-voce è visibile, scompare anche la sezione che le contiene.
La regola di fondo è fail-closed: una chiave di permesso che il sistema non riconosce viene negata, non concessa. È l’opposto di come si tende a scrivere questi controlli, e l’unico modo perché un errore di configurazione produca un accesso mancante invece di un accesso indebito.
Lo stesso vale per l’archivio dei file, dove i permessi di visione, modifica e cancellazione sono definiti per singola persona e non per categoria: in un’azienda che conserva buste paga e documenti d’identità, «tutti quelli dell’ufficio» non è un livello di accesso accettabile.
La ragione per cui un gestionale su misura ha senso, qui, non è nessuna singola funzione: è che il lead del call center e l’iscritto della formazione sono la stessa riga di database.
Il gestionale sostituisce un sistema precedente, e la parte più delicata non è stata costruire le funzioni nuove: è stato portare dentro lo storico senza perderlo. Un’academy che lavora da anni ha contatti, pratiche e percorsi che non si possono ricominciare da capo, e un gestionale che parte vuoto non è utilizzabile dal primo giorno.
Sul piano tecnico è un’applicazione Next.js con database PostgreSQL, autenticazione basata su token firmati in cookie e una quarantina di entità nel modello dati. Ma la scelta che conta di più non è nello stack: è che ogni modifica richiesta dai reparti è entrata nel sistema invece di essere aggirata — dalle note che diventano thread con notifiche, agli stati aggiunti quando l’uso reale ha mostrato che ne mancava uno.
È il criterio con cui distinguiamo un gestionale che dura da uno che dopo un anno viene affiancato da un foglio di calcolo: quando qualcuno chiede una cosa che il software non fa, la risposta giusta è aggiungerla, non spiegare perché non serve.












Sistema di localizzazione fisica dello stock per il più grande centro pneumatici del Sud Italia: gabbie mappate con coordinate X/Y/Z, scanner via fotocamera per EAN e QR code, ricerca per targa veicolo.
Sistema di prenotazione multi-step, dashboard amministrativa, menù digitale e tracciamento completo del funnel di marketing — costruito da zero per la pizzeria I Fontana.












App nativa iOS e Android per i clienti HM Travel: stessa esperienza dell'area riservata web, con itinerario su mappa interattiva, navigazione GPS, assistente AI MyTrip e notifiche push, sempre disponibile anche con connessione instabile in viaggio.