World Journal was a blog that ran itself. A FastAPI service, world_journal-backend, fetched RSS feeds by category, scraped the articles, and had Claude summarise and rewrite them through LangChain. It then published the post to an Astro and TinaCMS site through the GitHub API. A scheduler picked a random topic every four hours.
I built it in November 2024, and for about two weeks it was fun to watch. Then it found its voice, and the voice wouldn’t change. Post after post came out in the same grand, mournful tone, with titles like “Gaia’s Lament” and “Echoes of Earth”. Nothing was broken. Unattended generation just doesn’t drift towards variety. It drifts towards its own favourite sound.
The lesson I took from it is that curation isn’t a finishing step on top of generation. It is the product. Posting slowed after mid-December, and I stopped working on it in March 2025. I wrote more about it in A year in code.