BUILT AND RUNNING / AI IN PRODUCTION

AI that researches, writes and checks a blog post, then waits for a yes

IN SHORT

Three mornings a week, an AI researches the next topic for our blog, writes the post, checks every link and every quoted source, and fixes what fails. Then it waits. Nothing is published until I read it and tap Approve, and one more tap posts it to LinkedIn, Facebook and Instagram.

  • Live since Oct 13, 2026
  • Squared Away
  • Runs on its own

THE PROBLEM

Posting useful things takes hours. Letting an AI post them alone is worse.

A business that publishes useful answers gets found and trusted. Few keep it up: a good post takes hours to research and write, and then it has to be rewritten for each social platform.

The shortcut, an AI that writes and posts on its own, is how a business ends up publishing a made-up statistic or a dead link under its own name. Some platforms also do not allow posting on a timer for an account like ours. So the AI does the hours of work, the code checks it, and a person says yes.

WHAT I BUILT

Four parts, one job

THE WRITER

  • Takes the next topic from a queue ordered by how often people actually search for it.
  • Researches it on the web and reads the pages it will quote.
  • Writes it as structured content, which code turns into the site's own page, so the design never drifts.

THE CHECKS

  • Every link is opened and has to be live; a site that refuses an automated visit is flagged for me to open by hand.
  • Every quote's words are found on the page it came from.
  • The blog's own rules: the format, the length, and what a post may and may not claim.
  • One round of fixes on anything that fails, then checked again.

THE YES

  • An email with a link when a draft is ready.
  • A Posts screen showing the post as it will publish, its checks and its sources.
  • Approve publishes it in one change to the website: the post, its image, the blog listing, the sitemap and the file AI search tools read.

THE SOCIAL POSTS

  • Four drafts with every post, for LinkedIn, Facebook, Instagram and Google, each to that platform's rules.
  • Images drawn in code, including a portrait version for Instagram.
  • One button posts to every connected platform at once; Google is posted by hand for now.

HOW IT FLOWS

From topic to posted

It starts at 5 in the morning, Monday, Wednesday and Friday. The amber steps are mine.

  1. Picks the topicThe next one in a queue ranked by real search demand.
  2. ResearchesSearches the web and reads the pages it will quote.
  3. WritesStructured content that code builds into the page.
  4. ChecksEvery link live, every quote found on its source, every rule kept.
  5. FixesOne round on anything that failed, then the checks again.
  6. Waits for a yesAn email arrives; I read the post and approve it.
  7. PublishesOne change: the post, its image, the listing and the sitemap.
  8. PostsOne tap sends it to LinkedIn, Facebook and Instagram together.

Runs on its ownA person decides

THE SIZE OF IT

What it does each week

  • 3posts a week, written before anyone is awake
  • 4social posts drafted with each one
  • 2taps from a finished draft to posted: Approve, then Post
  • 1change to the website publishes the post and everything that points to it

Sign-in tokens for the social accounts are stored only sealed, under a key that lives with the host, never in the code. Nothing the engine writes goes out without a person reading it first.

WHAT I DID

What I did

Designed the job

What runs on its own, what a person approves, and why the line sits where it does.

Wrote the rules

The post formats, the voice, and what a post may claim: no unsourced numbers, no promises.

Built the checks

Links opened, quotes matched against their sources, rules tested, with one fix round.

Built the yes

The Posts screen, the email, and the one change that publishes everything at once.

Connected the platforms

LinkedIn and Meta's own posting interfaces, each read from its own rules first.

Run it

I read every draft. Each run records its checks, its sources and its cost.

BUILT WITH

Built with

  • Claude API (web search and fetch)
  • Next.js
  • TypeScript
  • Supabase
  • Vercel Cron
  • GitHub API
  • Resend
  • LinkedIn API
  • Meta Graph API
  • Claude Code