Blog

Building a Blog That Publishes Itself

The architecture behind The Dog Habit: a pipeline that researches, writes, illustrates and posts on a schedule, with nobody opening an editor to keep it going.

researchwriteimagepublish

The Dog Habit is a real publication — training guides, behaviour explainers, gear roundups — that writes and illustrates itself on a fixed schedule and has done so without a missed day since it launched. Nobody drafts a post. Nobody picks an image. The only thing a person still does is decide, occasionally, what the site should cover next.

Four stages, each one inspectable on its own

  • Research and drafting — a topic queue feeds a generation step that produces a title, the article body, an excerpt and metadata as one structured result, not a wall of text to be parsed after the fact
  • Imagery — a stock-photo search scoped to the topic, not a single generic query reused for every post; a launch bug that used one static query for anything untagged is its own lesson, and a separate post
  • Publishing — posted through the CMS's own REST API with the real, final publish status, so what a visitor sees is exactly what the pipeline produced, not a draft waiting on a human step that was quietly dropped
  • Distribution — the same finished post triggers a short-form video render and a queued social post, so one piece of source material becomes three, without three separate manual jobs

The part that actually took the time

Generating a plausible blog post is the easy 80%. The other 20% — the part that makes it safe to run completely unattended — is deciding what happens when any one of those four stages fails partway through.

  • A duplicate topic must exit cleanly without leaving a half-written post behind
  • An image provider having a bad day must not block publishing — a fallback exists, and is logged loudly enough to be noticed and fixed
  • A failed run must alert a person, not fail silently into a gap in the schedule that nobody notices until a week of posts is missing

The proof that content automation survives contact with reality is not the first successful post. It is the one where a step failed at 3 a.m. and the site published on schedule anyway.

None of this needs to be exotic. It needs every stage to fail loudly and specifically instead of quietly and generically — which is a design discipline, not a bigger model.

This came out of building The Dog Habit — Read the case study ↗

Have something like this to fix?

Describe the problem and we will tell you what it takes.