Indlæser side...
Indlæser side...
En fuldt AI-automatiseret pipeline, der forvandler det rumænske historiepensum til originale sange i metal, pop, trap og manele — med faktatjekkede tekster, synkroniserede lyric-videoer, auto-uploadede YouTube-videoer og tilhørende quizzer.

Decebal Cântă — AI-automated history songs
Decebal Cântă er et personligt eksperiment i, hvad én udvikler kan bygge, når Claude Code, Claude Agent SDK og en stak AI-værktøjer laver det tunge arbejde. Idéen er enkel: rumænske gymnasieelever, der læser til studenterprøven, fortjener noget bedre end støvede lærebøger, så historiske figurer fortæller deres egne historier gennem originale AI-genererede sange i fire musikgenrer. Pipelinen er end-to-end automatiseret — fra at skrive og faktatjekke tekster, over at bedømme og rangere genererede sange, til at rendere synkroniserede lyric-videoer med Remotion og publicere dem på YouTube. De eneste manuelle trin er dem, der ville bryde eksterne ToS (indsættelse i Suno, skift af YouTube-synlighed). Alt udgives under CC0, helt gratis for elever.
Claude Code laver en cheat sheet over fakta for hver historisk figur og sikrer, at alle vigtige pointer fra lærebogen er dækket og faktatjekket.
Claude Code genererer tre kandidatversioner af sangen. En intern skill klarer hele flowet — jeg skriver bare en slash-kommando.
En Claude Code-agent faktatjekker teksten mod flere lærebøger og online kilder. Alt forkert eller potentielt misvisende bliver kasseret.
En Claude Code-agent scorer de tre kandidater på catchiness, underholdning, flow og læringsindhold. Svage versioner kasseres og regenereres; resten rangeres.
De endelige tekster og de matchende Suno-tags skrives til JSON-filer pr. sang.
En Next.js-grænseflade læser JSON-filerne, så jeg let kan kopiere tags og tekster og se alle tre versioner ved siden af hinanden.
Jeg indsætter selv de tre versioner i Suno. Det kunne sagtens automatiseres med Claude in Chrome, men det ville bryde Sunos ToS, så det gør jeg ikke.
Jeg lytter til alle tre versioner mens jeg laver husarbejde, og noterer favoritter, forkerte lydelementer og kreative idéer (som jeg sender tilbage til Claude for flere varianter).
Jeg downloader den vindende WAV og lægger den i sangens mappe.
Én slash-kommando trigger de resterende video- og publiceringstrin.
Et WhisperX-script i align-only-tilstand udtrækker præcise ord-timinger med de originale tekster som reference.
En Claude Agent SDK-agent tjekker om timingerne giver mening og bruger Whisper på Groq som fallback. Hvis timingerne stadig ser forkerte ud, stopper flowet og beder om hjælp — inklusive en alternativ sti der bruger Suno voice stems.
En Claude Agent SDK-agent grupperer ord i logiske skærm-blokke og indsætter "vidste du"-popups i instrumentale pauser.
En anden Claude Agent SDK-verifikator krydstjekker den forrige agents output og fanger eventuelt hallucinerede timinger.
Et script renderer lyric-videoen med Remotion, inklusive tekster og "vidste du"-popups.
ffmpeg lægger det originale lydspor ovenpå den renderede video.
YouTube Data API uploader videoen med beskrivelse, tags, kategori og metadata udfyldt på forhånd.
Jeg skifter videoen til offentlig manuelt — YouTube vil virkelig ikke have det automatiseret af gode anti-spam-årsager. Fair nok.
YouTube-linket skrives tilbage i sangens JSON, og Next.js-siden skifter automatisk fra Suno-tags til en indlejret YouTube-iframe.
En thumbnail genereres ud fra sangtitlen og uploades til YouTube via API'et.
Claude Code genererer en quiz ud fra kernefakta i både sangen og cheat sheet'et og markerer hvilke der er dækket af sangen, og hvilke der ikke er.
En Claude Code-agent verificerer quizzen, dens fakta og svar før den går live.
Claude Code committer og pusher til GitHub, som auto-deployer den opdaterede side til Vercel.