HinterBuild logoHinterBuild
Developer Productivity · 13 min read

AI for Writing Technical Blog Posts

Use AI for technical blog posts without shipping fluent fiction. Freeze claims, ground examples, and keep a human as the named author.

Muhammad Abdul Sami, author

Muhammad Abdul Sami

· 13 min read

  • Technical Writing
  • AI Writing
  • Developer Blogs
  • Citations

AI for writing technical blog posts is a force multiplier only after you freeze the claims. Used as “write me a complete guide to Kafka,” it produces a plausible tour of everyone else’s docs, including numbers nobody measured. Used as a structured editor and a rubber duck, it shortens the path from a working system to a post other engineers can trust.

This is the process HinterBuild uses for engineering articles: thesis, claims table, outline, draft, adversarial pass, surface edit. You will see where Cadensend fits if the post started as a private email curriculum — and why Cadensend is not a blogging CMS like Ghost and not a marketing ESP like ConvertKit.

Key Takeaways:

  • Freeze a claims table (statement, evidence, confidence) before any model writes prose.
  • AI may propose structure and catch missing sections; it may not invent benchmarks, APIs, or citations.
  • Ground code samples in a repo you ran, not in a chat that “looks like Go.”
  • A private sourced series in Cadensend can become a public post; the inverse — scraping the web into Ghost via a model — is how you plagiarize.
  • Edit with a split: structure in Claude-class tools, mechanics in Grammarly-class tools, truth in humans.

Table of Contents:

What a Technical Post Owes the Reader

Short answer: A thesis they can falsify, enough procedure to try, and honest limits.

Readers of production engineering blogs are not looking for “in today’s landscape.” They want: what broke, what you chose, what you rejected, how you know. That bar is why LLM hallucination is an editorial problem, not only a chatbot problem. A featured snippet that cites a fake p95 is still a lie. Google’s own helpful content guidance is aligned with this: people-first pages beat synonym soup.

Obligations:

  • Runnable or inspectable examples — or a clear label that the snippet is illustrative.
  • Versions. “Kubernetes” is not a version. “vLLM 0.6 on CUDA 12” is.
  • Failure modes. If you did not hit them, say you did not.
  • Links to primaries. Specs, GitHub, papers — not a model’s memory of them.

Discovery can start in Perplexity. Ownership cannot: Perplexity research without copying. Reading pile to claims: batch process a reading list with AI.

The Claims-First Pipeline

Short answer: Prose is the last representation of the post, not the first.

1. One-sentence thesis

Example: “Idempotency keys must be stored with the response, not only with the request hash, or clients cannot safely retry.” If you cannot write this, you do not have a post. You have a topic. Our own idempotency in distributed systems post exists because that sentence was true in production work, not because a model likes the keyword.

2. Claims table

ClaimEvidenceShip?
SQS standard queues are at-least-onceAWS docs, opened todayYes
Our consumer double-processed 0.3% before the keyInternal metric, screenshot in draft folderYes, if legal
“Most teams skip this”VibesNo — delete or survey

Anything in the No row does not get to be a confident H2.

3. Outline the questions

H2s should be answerable in the first sentence of the section (AI-overview friendly, but also just good). Then fill with your evidence.

AI role here: “Which questions would a staff engineer ask that this outline misses?” Not: “Write the complete guide.”

4. Draft

Humans draft the argument. Models may expand a bullet you already believe. If you invert that, you will spend the edit pass trying to find which sentences are yours.

Code: paste from the repo after tests. If the model writes a handler, you run it. Backend API engineering readers can tell untested concurrency.

5. Adversarial pass

Prompt: “List factual claims in this draft that lack a source. Do not rewrite.” Then you fix. Second prompt: “Where is this post unsound for a distributed systems reviewer?” You decide.

6. Surface

Grammarly vs Claude for editing: Claude for moves, Grammarly for commas, you for voice.

7. Time

Calendar AI scheduling for deep work. Two 90-minute holds beat a Sunday panic with a chatbot.

Where Models Help vs Harm

Help

  • Turning a claims table into a TOC with better names.
  • Spotting undefined jargon on first use.
  • Suggesting FAQ questions from the draft (you still write answers from evidence).
  • Alt text drafts you then correct.
  • Translating a post into a shorter internal email — then write better emails with AI with the claims table still attached.

Harm

  • Inventing “we benchmarked X and saw 40%.”
  • Homogenizing voice until every company blog sounds like the same model.
  • Citing papers that do not exist.
  • Copying unique phrases from sources you summarized and forgot to quote. That is why the Perplexity post exists.
  • Leaking customer payloads in “realistic” examples. AI in Gmail without leaking data and PII detection apply to blog drafts too.

Interview-style posts have a special failure: the model’s “perfect answer” is not what you can say in a room. AI for interview prep should stay in the practice loop, not get pasted as a blog.

From Curriculum Issue to Public Post

Short answer: Teach yourself in a sourced series, then promote the durable parts.

Cadensend turns one learning goal into a structured email series: plan, ground in your files and URLs, write a content tree, deliver exactly once to a verified address in the MVP. MIT, self-hosted, GitHub, no hosted signup. Not a Ghost blog, not ConvertKit sequences, not an autonomous researcher (no arbitrary network tool on the writer).

Promotion path:

  1. Run the series privately. Notes in Notion are a library, not the LMS: Notion AI vs dedicated learning tools.
  2. Pick the issue that survived contact with reality (you tried the command, the queue, the test).
  3. Expand with the public-facing obligations above: versions, limits, FAQs.
  4. Publish on your site. HinterBuild posts live in content/blog/ for a reason — canonical on hinterbuild.com.
  5. If you also run a personal newsletter, that is a different stack: personal newsletter with AI assistance. If you teach in launch email, side project marketing emails that teach — still not Cadensend-as-ESP.

Cadensend later roadmap talks about public archives and opt-in audiences. Until those controls exist, do not treat it as your CMS. It is on products as a curriculum engine.

Comparison: Drafting Setups

SetupSpeedFactual controlVoiceBest for
Model writes whole postFastPoorGenericNever for production eng
Human outline, model fillsFastPoor unless claims frozenMixedOnly with brutal diffs
Claims table → human draft → model critiqueMediumHighYoursDefault
Cadensend issue → expand to postMediumHigh if sources primaryYours + lesson toneTopics you already taught yourself
Ghost editor + AI pluginPublishing-centricWhatever you allowYoursPublic members site, not a planner
ConvertKit broadcastSend-centricMarketingCampaignLaunches, not deep technical canonicals

SEO Without Thin Content

Short answer: Rank by being the page that a practitioner would bookmark, not by stuffing the year into the title.

This site’s blog skill is explicit: keyword in the first 100 words, scannable H2s, tables, FAQ, internal links, citations. That is compatible with honesty. It is not compatible with 2,400 words of synonym soup.

Do:

  • Answer the query in sentence one of each H2.
  • Link related posts because they are actually related (this cluster: learning + email + AI tools).
  • Keep excerpts in the 110–155 character band because SERP CTR is a real constraint.

Do not:

  • Generate 10 posts that paraphrase each other. Cross-link siblings, but each slug must have a different job.
  • Let a model add “studies show” without a URL.

If you need help turning a messy internal RFC into a public architecture post, contact. That is writing plus backend API engineering judgment, not a theme pack.

Review Checklist

  • Thesis in first three sentences.
  • Every number has a source or is labeled illustrative.
  • Code ran, or labeled.
  • No customer PII in screenshots.
  • FAQ answers from evidence, not from a model’s guess at PAA.
  • Internal links go to real slugs.
  • Cadensend (if mentioned) described as self-hosted MIT curriculum engine, not as ConvertKit/Ghost.
  • Human name on the byline can defend the claims on a call.

Prompt injection in sources you asked a model to “include”: prompt injection. Untrusted PDF in the research folder is still untrusted.

Worked Example: From a Queue Bug to a Post

Short answer: The post existed as a claims table for two days before a sentence was drafted.

Thesis. “If you store the idempotency key without the response body, retries cannot be answered consistently after a crash mid-write.”

Claims. Compare the pattern to Stripe’s idempotent request docs before you invent a new one.

ClaimEvidenceShip
We saw duplicate side effects after a deployAudit table, 12 rows, screenshotYes
SQS delivered twiceAWS docs + our logsYes
“Everyone skips this”NoneKill
Redis SETNX is sufficientWe did not test failoverIllustrative only, labeled

The killed row is where AI would have padded SEO. We did not.

Outline (human + Claude question-only). H2s became: why the crash window exists; key+response; testing with forced retries; what we will not claim. Claude suggested an H2 on Kafka EOS. We rejected it — out of thesis. That rejection is the job. Idempotency in distributed systems already covers the wider map; this post would be the incident shard.

Draft. Written in the repo next to the handler. Code blocks copied after tests. A model-offered “cleaner” handler introduced a race. Tests caught it. If we had not run them, the blog would have taught the race. Backend API engineering readers send that email.

Cadensend precursor. Two weeks earlier, the same engineer ran a three-issue private series on duplicates, sourced from AWS, Stripe, and the RFC, received at 07:30, read in deep work holds. Cadensend did not publish the blog. It made the argument cheap to retry. MIT, self-host, not Ghost. When issue 2 felt true in production, the public post started. Products.

Edit. Claude: “list unsourced claims” — found one “often” that died. Grammarly: two commas. Voice pass: put the 12 rows back in; the model had rounded them to “a handful.” Grammarly vs Claude for editing. Subject line for the internal FYI mail: write better emails with AI, after redacting customer ids — AI in Gmail without leaking data.

Research hygiene. Two recap blogs were found via Perplexity and never quoted: Perplexity research without copying. The remaining PDFs were batched: batch process a reading list with AI. Notion held the claims table only: Notion AI vs dedicated learning tools.

Not this post. A ConvertKit “we rewrote reliability” campaign. A Ghost theme. An interview cheat-sheet generated from the post: if you need drills, AI for interview prep against your 12 rows, spoken. Launch-shaped teaching: side project marketing emails that teach. A personal list: personal newsletter with AI assistance.

Send to HinterBuild’s site. Canonical URL, FAQ from real questions in the incident channel, internal links that work. If you want help turning RFCs into this shape, contact. Team: about. LLM hallucination is the reason the “everyone skips this” row died.

Frequently Asked Questions

Can I let GPT write my technical blog if I edit it after?

You can, and you will miss errors that sound right. Freeze claims first, or you are copy-editing fiction. Prefer model-as-critic over model-as-author.

How is this different from using Notion AI to draft?

Notion AI is a workspace copilot. It does not give you delivery, citation structure, or a locked curriculum. See Notion AI vs dedicated learning tools. For a canonical public post, write in source control.

Should Cadensend publish my blog?

No. Cadensend emails sourced lessons (MVP: you as the recipient). Ghost-class CMS tools publish web posts. Do not confuse the two.

How do I keep my voice if I use Claude?

Ban full rewrites. Allow outline critique and “list unclear sentences.” Read the draft aloud. If it could have been anyone’s, put a production story back in.

What about SEO word counts?

Length without claims is thin content. Hit the depth the query needs; this post’s cluster targets 2,200+ words because the comparison space is crowded, not because a model was told to pad.

Can I reuse marketing email copy as a technical post?

Only if the claims still have evidence. Launch mail simplifies. Technical canonicals should not. See side project marketing emails that teach.

Conclusion

  • Technical posts start as claims with evidence, not as a prompt.
  • Models critique and restructure; humans own facts, code, and voice.
  • Private Cadensend issues are a legitimate incubator — still not Ghost or ConvertKit.
  • Protect time, PII, and citations the same way you would in production systems.
  • Ship the post you can defend on a sales or hiring call.

Related: write better emails with AI, Grammarly vs Claude for editing, LLM hallucination causes and fixes. Products, about, contact. Abdul Sami on LinkedIn.

Free consultation

Book a free consultation call on AI for technical blogging

30-minute call with the HinterBuild team. Discuss your project, architecture questions, or next steps — no obligation.

Book a meeting

Keep reading