Duck
Tutorials5 min read

How to automate blog writing with AI

Samet Turan— Editor··5 min read

Learn to build an AI-powered blog writing pipeline that turns prompts into publish-ready posts, with real examples, costs, and debugging tips for solo

Last month I needed to put out three fresh posts a week for a niche site I run, and writing each one from scratch was eating up my mornings. I had a vague idea of using AI to help, but every tutorial I found either skipped the messy parts or assumed I already had a developer on staff. After a few failed attempts, I cobbled together a working pipeline that now spits out a first draft in under ten minutes, leaving me time to edit and publish.

Why does the AI keep sounding generic?

Most guides tell you to just feed a topic to ChatGPT and call it a day. The output reads like a Wikipedia summary written by a robot that has never met a human. The problem isn’t the model; it’s the prompt. If you ask for “a blog post about remote work,” you get a bland list of pros and cons that could belong to any article from 2020. The fix is to give the AI a clear role, a target audience, and a specific angle.

Here’s the prompt I use with Claude 3.5 (the first time I mention the tool I bold it):

You are a seasoned freelance copywriter who writes for indie hackers. Write a 1200‑word blog post titled “How to price your first SaaS product without scaring away early users”. The tone is conversational but data‑driven. Include two short case studies, one bullet list of pricing models, and end with a three‑question checklist for the reader. Use UK spelling.

That prompt costs roughly $0.004 per call on the Claude API (based on the current $8 per million token rate). For a 1200‑word post the input and output together stay under 800 tokens, so each generation is under a cent. I run three of these a week, which adds up to less than $0.15 in AI fees.

What most guides get wrong

They treat the AI as a finished Writer instead of a raw material supplier. The first draft is never publish‑ready; it needs shaping. Many tutorials skip the editing loop and tell you to copy‑paste the output straight to your CMS. That leads to bland posts, factual slips, and a tone that feels off‑brand. The real work begins after the AI spits out its text.

My process splits the job into three stages: outline generation, draft writing, and human polishing. Each stage gets its own dedicated prompt and its own temperature setting. Keeping the stages separate makes it easier to spot where the AI went off track.

How to debug when this breaks

When the output starts repeating phrases or veering off topic, the first thing I check is the prompt length. Claude 3.5 has a hard limit of 32k tokens, but if I accidentally concatenate previous outputs into the next prompt, the model sees noise and starts to echo. I keep a simple log file that stores the exact prompt sent each run; comparing a good run to a bad one usually reveals a stray line break or an extra space that threw off the token count.

If the tone feels wrong, I look at the temperature setting. For outline generation I use 0.2 to keep it deterministic. For the draft I raise it to 0.7 to add creativity. If I forget to reset the temperature between stages, the outline becomes too wild or the draft too stiff. A quick glance at the log fixes it.

Finally, I watch the token usage. If the output is truncated mid‑sentence, I know I exceeded the max output tokens. I either lower the max_tokens parameter or ask the model to continue in a second call. The latter works well because I can append “Continue from where you left off” and keep the same context.

Concrete named example: cost and tools

Here’s the exact stack I run on a $5‑per‑month VPS:

  • the Make platform (first mention bold) – the no‑code orchestrator that triggers the workflow when a new row appears in a Google Sheet.
  • Google Sheet – holds the blog‑title queue and stores the generated text.
  • Claude 3.5 API – does the outline and draft generation.
  • GitHub Actions – runs a simple Python script that calls the API, logs prompts, and writes the result back to the sheet.
  • Notion – where I do the final edit and schedule publishing.

The only recurring cost beyond the VPS is the Claude API usage. At $8 per million tokens, three 1200‑word posts a week cost about $0.15. The VPS is $5, Make.com’s free tier handles the triggers, and GitHub Actions is free for private repos. Total monthly spend stays under $6.

I think $6 a month is a steal for a system that saves me roughly ten hours of writing time each week. If you were to outsource that work to a freelancer at $30 per hour, you’d be looking at $1200 a month. The AI pipeline isn’t perfect, but the price‑to‑value ratio is hard to beat.

Concrete gripe

The built‑in scheduler in Make.com keeps resetting my timezone to UTC every time I edit a scenario, which means my posts go live at 2 am instead of 9 am unless I remember to re‑set it. It’s a small thing, but it has caused a couple of missed publishing windows.

Concrete love

I love how the outline generator in Claude 3.5 gives me a ready‑to‑use H2 list in seconds. I can drop that straight into Notion, fill in the sections, and have a structured draft before I even write a sentence. It cuts the blank‑page paralysis that used to stall me for hours.

— and good luck finding docs for this — the Make.com error messages are vague, but the community forum is surprisingly helpful.

Adjacent reading: AI meeting tools coverage.

If you’d rather skip the build and deploy a working version in an afternoon, we’ve packaged this workflow as a blueprint at deepusecase.com/vault.

— The Colophon

One AI tool. Tested. Reviewed.
In your inbox every Sunday.

~3 minute read. Real outcomes from operators, not marketers.

Free. One email per Sunday. Unsubscribe in one click.