base-cms

Il CMS su cui gira questo sito. Lo sto costruendo per i siti di piccole imprese.

Cos'è

Un CMS per siti aziendali di poche decine di pagine. Chi lo usa modifica i testi direttamente sulla pagina, anche dal telefono, e può farsi aiutare da un assistente AI che propone le modifiche: niente viene pubblicato finché non lo approva una persona.

Il sito può avere una chat che risponde ai visitatori usando i contenuti del sito, una traduzione automatica che resta in bozza finché qualcuno non la rilegge e statistiche senza cookie.

Modifica direttamente sulla pagina, con un pannello laterale per il blocco selezionato.

Perché l'ho fatto

I siti delle piccole imprese di solito finiscono in due modi: un WordPress pieno di plugin che nessuno aggiorna, o un sito fatto da un'agenzia che per cambiare una virgola va chiamata. Volevo una via di mezzo: un sito su misura che il titolare sappia aggiornare da solo, che giri su un server piccolo ed economico e i cui dati si possano esportare in qualsiasi momento.

Come l'ho costruito

Ho progettato il CMS e ne guido lo sviluppo: decido cosa costruire e cosa no, scrivo le specifiche e le decisioni di architettura (finora 52) e rivedo ogni modifica prima che entri nel progetto. Per scrivere il codice uso molto gli agenti di programmazione come Claude Code. Li conosco bene e ne vedo il valore: guidati da regole chiare e da oltre 1.300 test automatici, permettono di andare veloci senza perdere coerenza.

Il CMS cambia ogni settimana, in base a quello che emerge sui siti dove viene usato.

Alcune scelte tecniche

  • Tutto dentro PostgreSQL: anche la coda dei lavori in background e la ricerca usata dall'assistente. Niente Redis né motori di ricerca separati, così l'intero sito a riposo occupa circa 490 MB di memoria.
  • Le funzioni sono opzionali: notizie, documenti, chat, traduzione, statistiche. Un sito senza AI funziona lo stesso.
  • Un server MCP permette di collegare al sito il chatbot che il cliente usa già (Claude, ChatGPT, Gemini), con gli stessi permessi del suo account.
  • Ogni sito può avere un proprio schema di database, quindi più siti possono condividere lo stesso server.
  • Prima di ogni aggiornamento, una copia del sito in produzione viene provata in un ambiente separato con un browser vero.

Alcune schermate

Dove è usato

Gira sul sito di un'azienda manifatturiera, su questo sito e su una demo pubblica in cui chiunque può provarlo con una copia tutta sua, valida per due ore.

Limiti onesti

Non c'è ancora una versione 1.0. Mancano l'importazione da WordPress e un glossario per la traduzione. I tempi di caricamento li ho misurati su rete simulata, non su traffico reale.

Stack: Python, Django, django-ninja, PostgreSQL con pgvector, Nuxt 4 (Vue, TypeScript), Docker, Caddy. Test con pytest, vitest e Playwright.

Un sito con questo CMS

Il CMS parte da 600 euro. Niente vincoli: la tecnologia è open source e i dati restano tuoi, esportabili quando vuoi.

Scrivimi