Come la GenAI ha cambiato definitivamente il nostro rapporto coi prodotti digitali

Fino a qualche settimana fa, scrivere un articolo per questo blog significava aprire l'editor di codice, creare un file markdown in una cartella specifica, controllare che il frontmatter fosse giusto, fare commit, push, aspettare il deploy. Per un articolo. Ogni volta.

Non era terribile: funzionava. Ma era scomodo in quel modo subdolo che ti fa rimandare le cose. "Scrivo quel pezzo domani", che poi diventa la prossima settimana, che poi non lo scrivi mai.

## **Il vecchio sistema: bello in teoria, scomodo in pratica**

![](/media/images/1771136010757-1760ic.png)Il sito girava su Astro con pagine statiche. Gli articoli erano file `.md` in una cartella del progetto. Ogni post aveva il suo frontmatter YAML in cima (titolo, data, tag, descrizione, immagine) e poi il contenuto in markdown.

Per pubblicare serviva:

1. Aprire VS Code
2. Creare il file nella cartella giusta, col nome giusto
3. Scrivere il frontmatter senza errori (una virgola fuori posto e il build esplodeva)
4. Scrivere il contenuto in markdown
5. Testare in locale che tutto fosse a posto
6. Committare, pushare, aspettare il deploy su Cloudflare Pages

Sei passaggi. Per pubblicare un pensiero.

E non parliamo di modificare un articolo esistente: trovare il file, aprirlo, editare, ri-committare, ri-pushare. O di caricare un'immagine: salvarla nella cartella `public`, referenziarla con il path relativo nel markdown, sperare di non aver sbagliato il percorso.

Funzionava, sì. Ma ogni volta c'era quella frizione che trasformava un'operazione da cinque minuti in un rituale da venti. E la frizione, nel tempo, uccide la costanza.

## **L'idea: e se mi costruissi un pannello admin?**

A un certo punto mi sono chiesto: quanto ci vorrebbe a farmi un pannello di amministrazione decente? Non WordPress, non Ghost, non un CMS headless con abbonamento mensile. Qualcosa di mio, che faccia esattamente quello che serve, niente di più.

La risposta tradizionale sarebbe stata: tanto. Giorni di lavoro per farlo o settimane per adattare un CMS esistente, con le sue opinioni su come dovrebbero funzionare le cose, le sue dipendenze, i suoi aggiornamenti da gestire.

Ma la risposta nel 2026 è diversa.

## **Costruire è diventato più veloce che scegliere**

![](/media/images/1771136166224-zkgig5.png)![](/media/images/1771136082006-ku1059.png)![](/media/images/1771136096156-irdb3s.png)Quello che ho fatto è stato sedermi con Claude Code (uno strumento di AI generativa applicata al codice) e costruirmi il sistema pezzo per pezzo. Non generando codice a caso da copiare e incollare, ma lavorandoci insieme come si farebbe con un collega molto competente e molto veloce.

Il risultato è un pannello admin completo che mi permette di:

- **Scrivere articoli con un editor WYSIWYG**: niente più markdown a mano, scrivo come in un editor di testo normale, con toolbar per grassetto, corsivo, titoli, liste, citazioni, codice, link e immagini
- **Trascinare le immagini direttamente nell'editor**: le carica automaticamente su Cloudflare R2 e le inserisce nel punto giusto
- **Gestire metadati in una sidebar chiara**: stato di pubblicazione, data, tag, immagine di copertina, tutto a portata di mano
- **Salvare con un click**: come in qualsiasi applicazione normale
- **Vedere la lista degli articoli** in una dashboard con statistiche immediate

E tutto questo salva i contenuti come markdown nel database, quindi il frontend del blog li renderizza esattamente come prima.

## **Cosa c'è sotto il cofano**

![](/media/images/1771136209509-msxruw.png)Per chi è curioso della parte tecnica: il sito continua a girare su Astro, ma è passato dalla generazione statica al server-side rendering su Cloudflare Workers. Questo significa che le pagine vengono generate al volo quando qualcuno le visita (per la prima volta), il che mi permette di avere contenuti dinamici senza rinunciare alla velocità.

I dati vivono su **Cloudflare D1**, un database SQLite distribuito sul edge network di Cloudflare. Le immagini su **Cloudflare R2**, uno storage oggetti compatibile S3. L'autenticazione usa **JWT** con token firmati via Web Crypto API.

L'editor WYSIWYG è basato su **Tiptap**, un framework di editing costruito su ProseMirror (lo stesso motore che sta sotto editor come Notion). L'aspetto interessante è che sotto il WYSIWYG i contenuti vengono convertiti in markdown pulito grazie a un'estensione dedicata. Scrivo visualmente, salvo in un formato portabile.

Per la sicurezza, perché un pannello admin esposto su internet deve essere sicuro, ci sono:

- **Cloudflare Turnstile** sulla pagina di login (il successore invisibile del CAPTCHA)
- **Rate limiting** per prevenire attacchi brute force
- **Validazione rigorosa** di ogni input, ogni upload, ogni percorso file
- **Confronto a tempo costante** delle credenziali, per prevenire attacchi di timing
- **Verifica dei magic bytes** sui file caricati, non solo dell'estensione

Nessun framework admin, nessun plugin, nessuna dipendenza pesante. Solo il codice che serve, dove serve.

## **Il vero cambiamento non è tecnico**

La parte interessante di questa storia non è la tecnologia. È il cambiamento nel calcolo costi-benefici.

Fino a poco tempo fa, davanti a un'esigenza come questa le opzioni erano:

1. **Adattare qualcosa di esistente**: WordPress, Ghost, Strapi, decine di CMS con le loro opinioni, le loro curve di apprendimento, i loro costi ricorrenti, le loro vulnerabilità da aggiornare
2. **Farselo fare**: un preventivo, tempi di attesa, iterazioni di feedback, compromessi su come "il framework vuole che funzioni"
3. **Farselo da soli**: settimane di lavoro, testing, debugging, con il rischio concreto di mollare a metà

Oggi c'è una quarta opzione: **costruirselo, con l'AI come acceleratore**. Non come sostituto del pensiero, ma come amplificatore della capacità di esecuzione.

Io sapevo cosa volevo. Sapevo come doveva funzionare, che esperienza d'uso cercavo, quali compromessi ero disposto a fare. L'AI ha trasformato quella visione in codice funzionante a una velocità che prima era semplicemente impossibile per una persona sola.

E non è codice "generato": è codice che ho guidato, rivisto, testato, e che capisco riga per riga. Perché il punto non è delegare il pensiero: è delegare la battitura.

## **Si fa prima a farla che a chiedere un preventivo**

Questa frase suona provocatoria, ma per una certa categoria di progetti sta diventando letteralmente vera.

**Non sto parlando di sistemi enterprise, piattaforme con migliaia di utenti, o software mission-critical**. Sto parlando di tutti quei progetti "medi" che prima cadevano in una terra di nessuno: troppo specifici per una soluzione off-the-shelf, troppo piccoli per giustificare un investimento serio, troppo tediosi per farseli a mano.

Il mio pannello admin è esattamente in quella categoria. Nessun CMS esistente avrebbe fatto esattamente quello che volevo nel modo in cui lo volevo. Farlo fare a qualcuno avrebbe richiesto brief, preventivi, revisioni, deploy. Farlo da solo a mano avrebbe richiesto settimane rubate alle sere e ai weekend.

Invece l'ho costruito in 25 minuti. Funziona. È mio. Fa esattamente quello che serve. E se domani voglio cambiare qualcosa, posso farlo in minuti.

## **Il futuro è fatto su misura**

Credo che stiamo entrando in un'era in cui il software su misura diventa accessibile a chiunque abbia una visione chiara di cosa vuole e decenti capacità tecniche. Non serve più essere un team di sviluppatori. Non serve più un budget importante. Serve sapere cosa si vuole e saper guidare lo strumento.

È come il passaggio dalla sartoria artigianale al prêt-à-porter, **ma al contrario**: stiamo tornando al su misura, solo che ora il sarto è velocissimo e costa una frazione di prima.

Per chi lavora nel digitale (sviluppatori, designer, marketer, imprenditori) questo cambia ovviamente i calcoli.