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.

Get in touchAll posts