Tempo di preventivazione (stima)
Eliminazione errori da Excel
Calcolo parametri istantaneo
Il Contesto
Il progetto e stato realizzato per un operatore energetico e fornitore di servizi. Per ragioni di riservatezza commerciale non vengono divulgati il nome del cliente, gli algoritmi di calcolo specifici ne i parametri contrattuali: il contesto e quello tipico di chi vende forniture di energia e gas e deve produrre preventivi accurati, con tariffe articolate su fasce, componenti fisse e variabili, accise e quote di servizio.
In questo settore il preventivo e il primo punto di contatto commerciale: deve essere veloce, coerente e difendibile davanti al cliente finale. Il mio ruolo e stato lo sviluppo frontend dell'applicazione che ha sostituito il calcolatore manuale interno.
Il Problema
Prima dell'intervento il calcolo dei costi energetici era affidato a fogli Excel mantenuti internamente. Un approccio comprensibile alle origini, ma che con la crescita della complessita tariffaria mostrava tre criticita ricorrenti:
- Errori da inserimento manuale: formule sovrascritte per sbaglio, celle non aggiornate dopo una variazione tariffaria, riferimenti rotti. Ogni preventivo richiedeva una doppia verifica per non presentare al cliente numeri sbagliati.
- Tempi lunghi e poca ripetibilita: compilare e controllare un preventivo significava aprire il file giusto, copiare la versione corretta, ricontrollare i parametri a mano. Il processo era lento e dipendente dalla persona che lo eseguiva.
- Fragilita di manutenzione: aggiornare una tariffa voleva dire modificare il foglio in piu punti e propagarne le copie, con il rischio concreto di lasciare in giro versioni disallineate.
L'obiettivo era passare da uno strumento error-prone e statico a un'applicazione web in cui il calcolo fosse istantaneo, ripetibile e a prova di errore, con un'unica logica condivisa al posto di tante copie di un foglio.
La Soluzione
Ho sviluppato una web app React single-page che ricostruisce il calcolatore come applicazione interattiva. L'architettura ad alto livello e volutamente semplice e si regge su tre principi.
Stato centralizzato con Context API
L'intero stato del simulatore - input dell'utente, parametri attivi e risultati derivati - vive in un contesto React condiviso tramite Context API, non sparso in proprieta passate manualmente tra componenti. Ogni schermata legge e scrive sulla stessa fonte di verita: cambiare un campo aggiorna in modo coerente tutto cio che ne dipende, eliminando le incoerenze che nel foglio Excel nascevano da celle non sincronizzate.
Calcolo derivato in tempo reale
I totali non sono valori da ricalcolare a comando: sono derivati dallo stato. Quando l'utente modifica un consumo o seleziona un'opzione, i parametri vengono ricalcolati immediatamente e l'interfaccia riflette il nuovo preventivo senza passaggi intermedi. La logica di calcolo e isolata dalla UI, cosi una variazione tariffaria si applica in un solo punto invece che in decine di celle duplicate.
Packaging e deploy con Docker
L'applicazione e containerizzata con Docker: lo stesso artefatto gira in locale, in staging e in produzione senza sorprese da configurazione. Questo rende il rilascio degli aggiornamenti prevedibile e veloce, un requisito importante quando le tariffe cambiano e la nuova versione del calcolatore deve essere disponibile in tempi brevi.
Tecnologie Chiave
Stack deliberatamente essenziale: nessuna dipendenza di troppo, solo cio che serve a costruire un calcolatore reattivo e manutenibile.
React
ReactUI a componenti e rendering reattivo: l'interfaccia si aggiorna da sola quando cambia lo stato del preventivo.
Context API
Context APIStato centralizzato senza librerie esterne: un'unica fonte di verita per input, parametri e totali calcolati.
Docker
DockerContainerizzazione per build riproducibili e deploy identico tra locale, staging e produzione.
Il Risultato
Il passaggio da foglio Excel ad applicazione web ha cambiato il modo in cui il preventivo viene prodotto: piu rapido, ripetibile e senza il margine di errore tipico del calcolo manuale.
Tempo di preventivazione (stima)
Eliminazione errori da Excel
Calcolo parametri istantaneo
Nota: le metriche riportate sono indicative e stimate su un progetto soggetto a riservatezza. Non sono dati certificati ne audit ufficiali del cliente, ma ordini di grandezza derivati dall'esperienza di progetto e dal confronto con il workflow manuale precedente.
Sfide Tecniche
Tradurre un foglio Excel in una logica di stato pulita
La difficolta principale non era scrivere React, ma decodificare la logica implicita del foglio Excel: catene di formule, dipendenze nascoste tra celle e casi limite che esistevano solo nella testa di chi lo usava. La soluzione e stata separare nettamente i dati di input dai valori derivati e ricostruire le dipendenze come funzioni di calcolo testabili, alimentate da un unico stato in Context. Cosi ogni totale ha una provenienza chiara, al contrario della rete opaca di riferimenti del foglio originale.
Reattivita senza incoerenze di stato
Con un calcolo che si aggiorna a ogni modifica, il rischio era mostrare per un istante valori intermedi incoerenti - lo stesso problema delle celle Excel non ancora ricalcolate. Centralizzando lo stato e facendo derivare i risultati direttamente da esso anziche mantenerli in variabili parallele, ogni render parte sempre da una fotografia coerente: niente totali "vecchi" accanto a input nuovi.
Hai un Calcolatore da Digitalizzare? Parliamone
Se la tua azienda produce preventivi o stime con fogli Excel error-prone, posso aiutarti a trasformarli in una web app reattiva e manutenibile: calcolo in tempo reale, una sola fonte di verita, zero versioni disallineate. Prima call gratuita e senza impegno.
Richiedi una Consulenza Gratuita