Skip to content
buildlog

I built a newsroom that can't publish slop

The rebuild after I killed my media site had one rule: make slop structurally impossible to publish. AI does the cheap 80%; a human-attested operator take gates the other 20% — and the agent can't fake the attestation.

ShareXin

Eight months of posts, then fourteen months of silence — that's how the last version of this site died. The autopsy was blunt: no email capture, an anonymous byline, AI filler nobody would defend. So the rebuild had one non-negotiable rule: the machine must make slop structurally impossible to publish. Here's what I shipped.

What I set out to build — and why

A content engine where AI does the 80% that's cheap — research, drafting, formatting, distribution — and a human does the 20% that's the whole point: the take, the judgment, the sourcing. The internet is drowning in the first kind; the second is the only durable moat. The trick was making that split enforced, not aspirational.

The hard part: a gate you can't fake

Most "AI content" pipelines — the popular n8n content-factory templates included — are a chain of nodes that will happily publish nonsense if an upstream field goes empty. I wanted the opposite: a typed, git-backed lifecycle where publishing is gate-enforced. Every post has to clear, in code and in CI:

  • An original operator take, human-attested — the un-fakeable 20%. No take, no publish.
  • Zero unverified claims. Every unresolved verification flag blocks the gate until it's backed by a cited source.
  • A named human byline, never an anonymous editor.
  • Honest provenance — an "AI-drafted, human-edited, N sources" line on every piece.

The sharp part: the AI agent literally cannot set its own human-review flags. A protected-keys guard strips them from any agent write, so an agent — even one told to "just publish it" — can't attest the human sign-off. I found that out by trying.

What shipped

The publication you're reading. A serializable theme system where the whole look is data (swap it by prompt); an editorial gate enforced in three places; an operator-take block, a "receipts" sources block, and a provenance line rendered on every post; and a build that ejects to static HTML on Cloudflare. AI writes the draft; the gate refuses the byline until a human owns the take.

The operator take

The point wasn't a better writer; it was an un-skippable human. Let the machine do the cheap 80%, and make the 20% that's actually me impossible to route around.

What's next

The engine is done; now it earns its keep. Next: wire the newsletter capture, and let the factory pull from live sources so the drafting starts itself — with the same gate standing between the draft and the world.

AI-drafted · human-edited by dipesh · fact-checked · 1 source cited — held to the Firehoz editorial gate.
Get the teardowns

Operator teardowns + playbooks, in your inbox. Free.

Free · no spam · unsubscribe anytime

Join founders, operators, and investors reading Glocal Startups. Free. Unsubscribe anytime.

Related

Made with Firehoz