Luca Morelli
Software engineer e analista
Team lead

Un gestionale per la mia attività, riscritto con i coding agent: il metodo su un progetto intero.

Ho sempre avuto un mio programma per gestire le attività: registro il lavoro giorno per giorno e lo uso per provare nuove tecnologie su un progetto abbastanza reale, anche se ridotto. Di recente l'ho riscritto con i coding agent Claude Code e Codex, con lo stesso metodo che applico nei progetti dei clienti. A differenza di quelli, questo posso mostrarlo.

Buona parte del codice viene dagli agentiDi solito Claude Code per analisi e realizzazione, Codex per la revisione esterna.
Non mi limito a rivedereControllo di continuo il codice e i documenti prodotti mentre si lavora sulle specifiche, e studio come è stato fatto ciò che non conoscevo.

Cosa ho aggiunto con la riscrittura

Oltre alla gestione delle attività, il programma ora raccoglie le fonti periodiche che mi informano su novità e rilasci.

Le informazioni vengono archiviate in un database e in un archivio per la ricerca per significato (vector store). Su ciò che ho archiviato posso fare domande in linguaggio naturale, con una funzione di RAG.

Nel programma ho portato anche la gestione della posta: leggo e gestisco le email, con regole che evidenziano newsletter e messaggi importanti. Avevo valutato un componente aggiuntivo per Outlook, ma Microsoft non li supporta sulle caselle IMAP.

I moduli

Sette parti separate, ciascuna con un compito preciso.

  1. App per le attività (React): la registrazione giornaliera e la consultazione dei dati.
  2. Web API (ASP.NET Core): il servizio su cui si appoggia l'app.
  3. Worker: processi separati che leggono notizie e dati di YouTube.
  4. Gestione delle commesse (WolverineFx e Marten): ogni modifica viene salvata come evento in un event store, così la storia di una commessa resta ricostruibile.
  5. Portale (Umbraco): la parte più amministrativa di commesse e attività.
  6. Estensione per Chrome: gestione dei link e delle liste.
  7. Server MCP: un servizio a cui si collegano gli agenti per registrare il lavoro svolto su ogni commessa, come analisi, specifiche, sviluppo e revisioni. Così tengo traccia di tutto.

Le schermate

Nelle immagini nomi, numeri di commessa, ore e messaggi privati sono coperti. Fate clic su un'immagine per vederla intera.

Home dell'applicazione: riquadri con gli ultimi aggiornamenti e collegamenti alle funzioni raggruppate per area
La home dell'app React: il pannello di controllo delle attività giornaliere.
Finestra dell'estensione: a sinistra le finestre aperte con le schede, a destra i gruppi di link archiviati
La pagina principale dell'estensione per Chrome: controllo le schede aperte e l'archivio in modo strutturato.
Home del portale: riquadri di commesse, clienti, lead e agenda e tabella delle ultime commesse, con nomi e ore coperti
La home del portale amministrativo in Umbraco.
Maschera vuota della registrazione giornaliera con diario, attività ed eventi di sviluppo
La registrazione della giornata: un resoconto giornaliero e i dettagli per commessa. In basso compaiono anche le informazioni inviate dal server MCP mentre si lavora sulle specifiche.
Elenco delle email con le righe delle newsletter evidenziate e le altre coperte
La gestione delle email: da qui leggo e gestisco la posta, con regole che evidenziano newsletter e messaggi importanti.
Lettura di un'email con i pulsanti per creare regole, archiviare, spostare nel cestino e fare domande; il corpo del messaggio è illeggibile
La lettura di un'email: vedo il contenuto, creo regole, la archivio nel database e nel vector store, la sposto nel cestino e interrogo il testo con un modello locale tramite Ollama.
Tabella dello stato delle caselle IMAP, Gmail, PEC e Outlook.com, con nomi e messaggi coperti
Lo stato generale della posta, in un'unica pagina: supporta caselle IMAP, Outlook.com, Gmail e PEC.
Pagina del meteo con temperatura attuale, previsioni dei prossimi giorni e grafico orario
Una semplice maschera per consultare il meteo della settimana.
Catalogo delle notizie con le edizioni giornaliere e i link recenti
Le pagine di link: un processo periodico legge le pagine che mi interessano e me le rende consultabili. Quando si possono scaricare, anche i contenuti finiscono nel vector store.
Dettaglio di un'edizione con i link divisi per sezione
Il dettaglio di una lista giornaliera.
Archivio YouTube con i nuovi video e le miniature rese illeggibili
L'archivio dei video di YouTube, per controllare le novità e accedervi rapidamente.
Elenco dei file del progetto: decisioni architetturali, cartelle delle funzioni e documenti di stato
La harness del progetto: a sinistra le decisioni architetturali, a destra le specifiche per funzione e i documenti di stato, diario e insidie.

Tempi e dimensioni

Circa due settimane

Di lavoro pieno in tutto, una mia stima: l'ho sviluppato nel tempo libero, da agosto 2026.

Sette moduli

Descritti sopra.

24 decisioni architetturali

Registrate con contesto e motivazione.

Oltre 600 test automatici

Server, interfaccia, estensione. Dati del repository al 31 ottobre 2026.

Come ho lavorato

Lo stesso ciclo della pagina Coding agent. Qui si vede cosa lascia dietro di sé.

Il metodo

Si parte dalla specifica

Ogni funzione ha requisiti numerati, criteri di accettazione e una revisione. Li leggo e li correggo io prima che diventino codice.

Chi controlla non è chi ha scritto

Di solito Claude Code analizza e realizza, Codex fa la revisione esterna, io rivedo codice e documenti lungo tutto il lavoro.

La memoria sta nei documenti, non nella chat

Stato del progetto, punti aperti, diario e decisioni sono file che l'agente legge in un ordine stabilito a ogni sessione. Qui la harness sta nel repository perché il progetto è mio e ci lavoro da solo; in quelli dei clienti la tengo separata.

La harness

I dati reali sono protetti da regole

I test girano su database temporanei con dati sintetici. Sul database vero l'agente non modifica nulla senza una mia approvazione esplicita.

Un banco di prova

Qui provo il metodo, le skill che sviluppo per gli agenti e il modo di adattarle alle esigenze di un programma.

Le skill sono procedure riutilizzabili che l'agente segue per un certo tipo di lavoro. Alcune scelte sono sicuramente sproporzionate per ciò che il programma deve fare: le ho fatte per provare funzioni e modalità di progetto.

Come imparo da ciò che fa l'agente

  1. Realizzo

    Con strumenti e problemi nuovi, realizzo la funzione con il coding agent.

  2. Arrivo in fondo

    Raggiungo la piena funzionalità.

  3. Analizzo

    Leggo il codice prodotto per capire come ha fatto.

  4. Consolido

    Verifico conoscenza e implementazione su fonti esterne.

In questo modo non delego soltanto l'implementazione facendo da revisore: imparo come ha fatto, mi formo e poi uso quegli strumenti con più autonomia.

Conta soprattutto nei progetti più complessi, come il progetto RAG. Lì devo entrare nel dettaglio di una funzione e verificare cosa fa davvero, perché spesso la descrizione che ne dà l'agente non è abbastanza chiara. Bisogna sporcarsi le mani e lavorare in coppia con l'agente, non limitarsi a supervisionarlo.

Cosa non dimostra

Questo progetto mostra un modo di lavorare, non un risultato che si ripete uguale altrove.

  • È un progetto ridotto, e sono da solo. Nessun collega sullo stesso codice e nessuna harness condivisa: far lavorare un team su un'unica harness è un passo che non ho ancora affrontato. Qualità e coding agent.
  • Sono il cliente di me stesso. Decido in un attimo cosa cambiare e accetto limiti che un cliente non accetterebbe.
  • Lo uso solo io, in locale. Sicurezza, permessi e disponibilità per molti utenti sono un altro lavoro.
  • Ha condizioni favorevoli. Tecnologie diffuse, codice riscritto da zero e un dominio che conosco: su sistemi legacy o fuori standard l'agente rende meno. Limiti e condizioni.
  • Non misura un risparmio. Le due settimane sono una stima e non ho un confronto con lo stesso lavoro fatto senza agenti.

Gli errori e le lezioni che ne ho ricavato li racconto a proposito di un progetto più complesso.

Dove ho sbagliato e cosa ne ho ricavato

Cosa significa per chi mi affida un progetto

Il modo di lavorare è lo stesso: specifiche scritte, decisioni tracciate, revisione separata da chi scrive il codice. Cambiano le regole di contorno.

Nei progetti dei clienti uso i coding agent solo dove le loro regole lo consentono, la harness resta riservata come il codice e le analisi sui dati avvengono su ambienti di test o dati anonimizzati.

Riservatezza

Per chi vuole il dettaglio tecnico

.NET 10 e React con TypeScript; EF Core su un database Azure SQL esistente, senza migrazioni (database-first); event sourcing su PostgreSQL con Marten e WolverineFx, collegato alle altre parti tramite RabbitMQ; Docker Compose e .NET Aspire per l'esecuzione locale; test con Testcontainers su database veri; ricerca con Qdrant e modelli locali tramite Ollama.

Fonti a supporto

Il mio modo di studiare è una scelta personale: questi studi non lo dimostrano, ma vanno nella stessa direzione.

Ultimo aggiornamento dei contenuti:

Vi interessa questo modo di lavorare sul vostro progetto?

Curriculum dettagliato e referenze su richiesta.