Kanri
Il mio blog: interfaccia, backend e un sistema di AI che genera e consegna i contenuti, costruito per intero.
- Anno
- 2026
- Settore
- Progetto personale · AI
- Ruolo
- Ideazione, design & sviluppo
- Stato
- Online
Sfida
Costruire da zero, da solo, una piattaforma editoriale completa: dall'interfaccia al backend, con un sistema di AI che genera i contenuti e me li recapita.
Kanri è una rivista indipendente di arte, design e cultura visiva che ho ideato, studiato e costruito per intero da solo: dall'interfaccia al backend, fino a un'infrastruttura di automazione e AI che raccoglie le notizie, scrive gli articoli, produce un podcast settimanale e me li consegna pronti da pubblicare. Non è un esperimento accademico — è un sistema editoriale completo, in produzione, che gira ogni giorno.
L'ho progettato come un ecosistema circolare: l'automazione genera i contenuti e li salva su Notion; Notion fa da unica fonte di verità (il CMS); il sito li legge e li pubblica. Io resto al centro come direttore: decido cosa entra, cosa esce e con che voce.
Notion come CMS: pubblicare con una spunta
Il cuore editoriale è un database Notion che uso come headless CMS. Ogni articolo è una riga; il corpo della pagina contiene il testo completo in Markdown, diviso da una riga ## SEO che separa la parte pubblica da quella redazionale (titolo SEO, meta description, slug, parole chiave).
Il meccanismo che ho disegnato è volutamente semplice: quando un articolo è pronto, spunto la casella "Pubblica" e dopo poco il sito va online. Dietro quella spunta c'è un Deploy Hook su Vercel che rigenera le pagine (ISR, revalidation a 60 secondi). Niente CMS pesanti, niente passaggi manuali: scrivo (o l'AI scrive), controllo, pubblico.
L'automazione editoriale (backend)
La parte "invisibile" è un insieme di script Python che ho scritto, in esecuzione su una VPS Ubuntu e orchestrati da timer di sistema. Tre flussi principali:
1. Brief mattutino
Ogni mattina alle 07:00 un processo scansiona i feed RSS che ho selezionato, filtra le notizie già trattate, ne fa scegliere le migliori a un LLM, le inserisce su Notion come "Da fare" e mi manda un'email con il brief della giornata. Così apro Notion e ho già una redazione pronta da curare.
2. Generazione degli articoli
Quando spunto "Scrivi articolo" su una riga, un watcher se ne accorge entro pochi minuti e avvia la scrittura:
- ricerca web sulle fonti,
- estrazione dei testi originali,
- ricerca di articoli correlati già pubblicati su Kanri,
- redazione dell'articolo con l'AI, guidata da istruzioni di stile che ho scritto io (niente metafore banali, niente frasi pubblicitarie, regole SEO precise),
- scrittura del testo e dei metadati direttamente nella pagina Notion, con stato che passa a "Fatto".
KANRI Tape: il podcast settimanale automatico
Ogni lunedì alle 08:00, in totale autonomia, il sistema costruisce una puntata — "KANRI Tape" — un digest di circa due minuti sugli articoli della settimana. Il flusso, che ho progettato end-to-end, è questo:
- Seleziona gli articoli pubblicati negli ultimi 7 giorni leggendoli da Notion.
- Scrive il copione con un LLM, nella voce di Kanri, con una regola anti-invenzione ferrea: si parla solo di ciò che è realmente nelle fonti.
- Sintetizza la voce con un servizio di text-to-speech, con una catena di fallback automatica tra più provider: se il primo esaurisce la quota o non risponde, passa al successivo, così la puntata esce comunque.
- Monta il sottofondo musicale con ffmpeg: qualche secondo di intro, poi la voce con la base in ducking (la musica si abbassa quando c’è il parlato) e dissolvenza finale. Se la musica manca, pubblica la sola voce.
- Carica l'mp3 su un hosting audio permanente e gratuito (Internet Archive).
- Salva i metadati in un secondo database Notion ("Podcast"), da cui il sito costruisce il player e un feed RSS sottoscrivibile (Spotify, Apple…). Il copione completo finisce nel corpo della pagina come trascrizione.
- Mi notifica via email con il copione allegato.
La cosa interessante non è solo che funziona: è che l'ho costruito perché fosse gratuito e sostenibile — provider TTS in piano free, hosting audio gratuito, modelli AI free — con i fallback giusti per non fermarsi mai. È ingegneria di prodotto, non un giocattolo.
Il frontend
Il sito è sviluppato in Next.js (App Router) e TypeScript, con CSS scritto a mano per un'estetica da magazine indipendente anni '80 — alto contrasto, griglie marcate, stampa risograph, caratteri monospace. Alcune scelte di cui vado fiero:
- Miller Columns — la home naviga su tre colonne (categorie → articoli → lettura), con URL condivisibili e tasto "indietro" che funziona davvero; su mobile collassa a colonna singola in stile app nativa.
- Copertine risograph generative — quando un articolo non ha immagine, genero al volo una cover on-brand: colore deterministico per categoria, retino halftone, linee di scansione animate e un effetto di sdoppiamento RGB che simula la stampa analogica.
- Caching e ISR — query a Notion in cache, rigenerazione incrementale e rebuild istantaneo via Deploy Hook: il sito resta velocissimo senza saturare le API.
SEO & GEO
Ho ottimizzato Kanri sia per Google sia per i motori generativi (ChatGPT, Perplexity, Gemini, Claude): metadati dinamici dal blocco ## SEO, immagini Open Graph generate al volo, sitemap, feed RSS (articoli e podcast), dati strutturati JSON-LD (NewsArticle, BreadcrumbList, WebSite) e un file llms.txt che fa da mappa testuale per gli agenti AI, così possono capire la struttura e citare correttamente le fonti.
In sintesi: Kanri raccoglie, scrive, parla e si pubblica quasi da solo — ma ogni pezzo di quella catena, dall'architettura al codice, dalla voce editoriale al design, l'ho pensato e costruito io. È il progetto dove direzione creativa, sviluppo e automazione AI vivono nello stesso posto, dall'idea al rilascio.