One Editor and an AI: How The Prosperitist Gets Made.

The front page of The Prosperitist: a yellow and black nameplate above the topic menu and the headline Nine Years for a Flat

Table Of Contents

TL;DR

  • The Prosperitist is a newspaper-style site I started in August 2026. Each story takes a popular claim seriously and checks it against primary sources. Every story appears in English and German.
  • The pipeline: I collect ideas. A carefully written Claude Code skill researches the topic, writes the article, checks the facts, finds photos with a clean licence and translates the result into German. I proofread both editions, check the references and put the story live.
  • Research and writing got massively cheaper. The pipeline finds primary sources I would never have had time to dig up. The results are interesting, and the articles are a surprisingly good read.
  • Layout work now costs practically nothing. A custom design, search, a second language: each of these used to be days of developer time.
  • The setup is boring on purpose: Markdown and Hugo, Claude Code with one CLAUDE.md and two skills, git, and push to deploy.
  • The limits are real: long, awkward sentences, German that is correct but not fluent, and articles that need cutting. Human proofreading is still a must.

From AI-Newsfeed to The Prosperitist

In 2023 I built AI-Newsfeed, a site that crawled data, had GPT-3.5 write articles and published them without anybody looking. My conclusion back then: “AI will never be able to replace great journalistic research on current topics.”

For breaking news that may still hold. For research on a well-framed question, I have changed my mind. And the setup has changed too: The Prosperitist has a human at both ends of the pipeline, and the AI does the heavy work in the middle.

What The Prosperitist is

The Prosperitist is a small online newspaper. It covers technology, science, economics, Germany, society, people and history. Most stories follow the same shape: take a claim seriously, find its strongest version, then check it against the numbers. Report where it holds and where it does not.

The rules are strict. Every number, quotation and study finding gets a footnote. The footnote points to the study itself or to the statistical office’s own table, not to a newspaper article about it. Charts are drawn by hand as SVG, with the data table underneath. And every story appears in English and German.

Three stories are live so far:

  • Nine Years for a Flat is about rent control. Berlin froze its rents in 2020, and within weeks the number of flats advertised fell by more than half. In Stockholm, which has held rents down since the war, the average wait for a flat is now nine years.
  • Six Hours of Aviation is about SpaceX’s Starship and the climate. One launch emits about as much CO2 as sixteen transatlantic flights. All the launches the US has authorised so far, 145 a year, come to roughly six hours of world aviation.
  • Nothing Inherent in Goods is a profile of the economist Carl Menger. Even his birthday needed checking: the date printed most often comes from a 1934 biographical essay by Hayek, and it is wrong.

The volume after six weeks (the first commit was on 18 August 2026): 54 stories, about 180,000 words in English, close to 1,400 footnoted sources, 207 charts and 15 photographs. A typical story has about 3,000 words and two dozen sources.

The pipeline

Step 1: ideas (the editor)

I collect ideas all the time. A claim somebody makes at dinner, a tweet, a study, a headline that sounds too good to be true. They all go on a list.

How well the idea is put matters a lot. “Write about rent control” gets you a generic piece. “Rent control is supposed to protect tenants - does it, and who pays for it?” gets you a story. The better I articulate the question, the better the article.

Step 2: the skill does the heavy lifting

The core is a Claude Code skill called write-new-article. It is a plain Markdown file of about 200 lines. It does not teach writing. It sets the order of operations and names the check that has to pass before the next step starts:

  1. Duplicate check. Is this already in the archive? If so, stop and ask me.
  2. Research. Research agents fetch primary sources (journal articles, statistical tables, court opinions, parliamentary papers) and save every one of them to disk. An agent’s summary is not evidence. The saved file is.
  3. The angle. Here the skill stops once and checks in with me: this is the claim, this is what the evidence did to it, these are the charts I plan. It is the one decision that can invalidate everything after it, so it is worth an interruption.
  4. Draft. Prose first, with citations added while writing, then the charts.
  5. Proofreading and fact-checking. Scripts check that every footnote has a source, that every quotation actually appears in the saved source files, that every link resolves and that the page builds. Every chart gets screenshotted and compared against its own data table.
  6. Photos. From Wikimedia Commons only. A script reads the licence and refuses anything that is not free for commercial use: no “non-commercial”, no “no derivatives”, no “fair use”. It prints the credit line, and Hugo resizes the image during the build.
  7. The German edition. A second skill, translate-article, writes the German version using its own style guide and a glossary of fixed terms. A checker compares both editions block by block. If I change the English later, the German is marked as stale, and a git hook refuses the commit until both are back in step.

Step 3: the editor again

Then it is my turn. I read the English and the German version. I click through the references and check that they say what the article claims. I cut what is too long. Then I set draft = false, commit and push.

This step is not a formality. Of the 54 stories written so far, three are live. The other 51 are waiting for my read. The bottleneck has moved from writing to reading, and that is by design.

Efficiency gain 1: research and writing

This is the big one. A story like these used to take a journalist days, often weeks. Two dozen sources means finding, reading and cross-checking two dozen papers, tables and documents.

The pipeline does this at a level I did not expect. It goes to the primary source, not the press release: the Federal Aviation Administration’s environmental assessment of Starship launches, the Stockholm housing queue’s own statistics, an account by Menger’s son based on family papers. It runs its own calculations and says so in the text.

And the results are genuinely interesting. I did not know that Berlin’s rent freeze halved the number of flats advertised within weeks. I did not know that a Starship launch emits as much CO2 as sixteen transatlantic flights, not sixteen thousand. Reading my own paper, I learn something in every story.

If the idea is well articulated, the pipeline writes the article with ease. The articles are a surprisingly good read.

Efficiency gain 2: layout costs practically nothing

Anyone who has run a website knows this. The content is one cost. The other cost is everything around it: templates, CSS, search, languages, URLs. Every change used to mean a developer, a ticket and a few days of work.

For The Prosperitist, that cost has practically disappeared. In six weeks, all of it through Claude Code and without a ready-made theme:

  • A complete newspaper design. Custom templates, one CSS file, a yellow, black and white visual identity, self-hosted fonts and a dark mode.
  • Full-text search that runs in the browser, without any external service.
  • A footnote system with its own lint, so a source cannot silently disappear.
  • A second language. The German edition went live on 25 September, with German URLs (/de/technik/), translated menus, German date formats and its own search index. The whole archive, 58 stories at the time, was translated on the same day.
  • Restructuring. Every story moved from one flat list into topic sections, with redirects from the old URLs. A week later the topics were redrawn again.
  • Tooling. Scripts that check citations, quotations, links, translations and chart labels, plus nine test files.

Adding a language used to be a project. Here it was a conversation and a day.

The technical setup

Markdown makes the world go round

Hugo builds the site from plain Markdown files with a few lines of front matter. That is the most important decision in the whole setup.

Claude reads and writes Markdown natively. It can search the whole archive in a second, compare the English and German file side by side, spot a near-duplicate, or fix the same mistake in 54 stories at once. The charts are inline SVG inside the Markdown, so they are text too.

There is no CMS, no database, no admin interface and no API to learn. Everything the paper is sits in one git repository that people and machines can both read.

Claude Code: one CLAUDE.md and two skills

Two kinds of Markdown file do the rest:

  • CLAUDE.md is the paper’s handbook: house style, which sources to cite and how, chart rules, and above all every trap that has bitten once. When something goes wrong, the lesson goes into the file, so I do not pay for it twice. After six weeks the file is over 2,000 lines long.
  • Skills are the procedures. write-new-article is the order of operations for a new story. translate-article produces the German edition.

The interface is simply Claude and git. I describe what I want in the terminal. The result is a set of changed files I can read, diff and revert. No admin panel, no plugins, no dashboard.

Push to deploy

Deployment is git push dokku main. A Dockerfile downloads Hugo, builds the site and hands the static files to nginx, running on a dokku server at Hetzner. A rollback is a push of an older commit.

Two safety nets sit on the way. A git hook refuses a commit while a German edition is out of step with its English original. And the build fails if a placeholder is left on any page.

Current limits of AI

The efficiency gains are massive, but the output is not finished work. Three things need a human every single time.

Long, awkward sentences

Claude likes long sentences and a handful of habits. The first drafts averaged 22 em dashes per story, 1,130 in total. Then there are the patterns: “It is not X. It is Y.” Staged reveals like “Here is the caveat, and it is a real one”. Intensifiers like “honestly” and “genuinely”. A punchline at the end of every paragraph.

At the end of September every draft got a plain-English rewrite in both languages, and the rules now sit in CLAUDE.md. That helps. It does not replace reading. I still proofread every sentence before a story goes live.

German translation is far from perfect

The German edition passes a long list of automated checks: the same blocks, the same footnotes, the same numbers, the quotation rules. But correct is not the same as fluent.

The German version of Six Hours of Aviation passed every check and a review by a second agent. It still read bumpy to me as a native speaker. It took a rewrite of the prose alone, plus a second reader briefed to read like a German newspaper editor. The German still needs a careful read by a native speaker. Every time.

Too long, and a first draft is not the truth

The articles are good, but they are long. A typical story has about 3,000 words, and Nine Years for a Flat is a 35-minute read. A style pass does not fix that: the plain-English rewrite of all drafts cut only about 3% of the words. Shortening means deciding which section goes, and that is an editorial call.

The same goes for facts. The pipeline checks itself, and the checks catch a lot. Translating the archive into German turned into a second fact-check of the English, and it found something in nearly every story: a misattributed quotation, a footnote pointing at the wrong document, arithmetic off by two. But a reviewer’s finding is only a hypothesis. Several were wrong on closer inspection. That is why the last step is a human who reads the sources.

Takeaway

One editor with a good pipeline can now produce what used to take a small newsroom. Research and writing cost a fraction of what they did. Layout and engineering cost practically nothing. What is left for the human is the part that should stay human anyway: choosing the ideas, reading the result, and putting my name under it.

My 2023 post predicted that journalists would move “from simple ‘writing the text’ - to ‘working on the text’ - jointly with the AI”. That is exactly what my job at The Prosperitist looks like.

The setup is deliberately boring: Markdown, Hugo, git, one handbook and two skills. If you want to try this for your own blog or company, start with the handbook. Write down every mistake the AI makes, once. After a few weeks that file is the most valuable part of the project.

More

Related posts