chiamamial

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:

  1. Seleziona gli articoli pubblicati negli ultimi 7 giorni leggendoli da Notion.
  2. 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.
  3. 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.
  4. 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.
  5. Carica l'mp3 su un hosting audio permanente e gratuito (Internet Archive).
  6. 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.
  7. 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.