01Case study
An AI content pipeline with human review.
- Product
- QR RapidQR code platform
- Year
- 2026
- Disciplines
- Automation, AI workflows, Integrations
- Our role
- Workflow design and engineering
01Challenge
Fast drafts are easy. Trustworthy ones are not.
A product blog needs a steady supply of useful posts. Writing every one by hand is slow. Generating them and publishing straight away is quick, and it is also how a site ends up with duplicated, thin or wrong pages.
We wanted automation for the repetitive parts: finding topics, drafting, checking, formatting, scheduling social posts. We did not want it to decide, alone, what goes live under our name.
A pipeline with many steps also fails in many places. Items stall halfway, a step runs twice, an external service is briefly unavailable. The design had to expect that rather than hope it would not happen.
02Approach
6 decisions that shaped it.
- 01
Keep the queue where people can see it
Topics and their state live in Notion, not inside the automation tool. Anyone can open the queue, see where an item is and change it by hand. The workflows read and write the same list a person would.
- 02
Check for duplicates before spending effort
Before an item is researched or drafted, it is compared with what already exists. A pipeline that writes the same article twice is worse than one that writes nothing.
- 03
Separate generation from review
One step drafts. A different step reviews the draft for quality and SEO. A model marking its own work tends to approve it, so the two jobs are kept apart and the review can fail an item.
- 04
Put a person at the gate
Nothing is published until a human approves it. The automated review narrows what a person has to read, but it does not replace the decision.
- 05
Plan for items that get stuck
A dedicated recovery workflow looks for items that stopped moving and deals with them, so a failed step does not leave a post silently stranded in the queue.
- 06
Find the idempotency gaps, then patch them
Running a step twice should not create a second post or a second social draft. Reviewing the workflows, we found places where it could, and patched them. We list that here as a lesson: retries are only safe once every step can run twice harmlessly.
03Architecture
How the parts fit together.
Nine n8n workflows in three groups: the path from topic to approved post, the work that follows publishing, and the recovery path for items that stall.
APath
From topic to approved post
Automated steps do the drafting and checking. A person decides what goes live.
Store
Queue in Notion
Topics and their state
Workflow
Research
Topic research and duplicate checks
Workflow
Generation
Drafts the post
Workflow
Automated review
Quality and SEO, separate from generation
Gate
Human approval
Nothing is published without it
BPath
After publishing
Approved posts feed the social channels as drafts, then a schedule.
Output
Published post
Workflow
Social drafts
One set per post
Service
Buffer
Scheduling
CPath
When an item stalls
A step fails or stops. The pipeline finds the item instead of losing it.
Store
Stuck item
No longer moving through the queue
Workflow
Recovery
Finds and handles stalled items
Store
Back in the queue
Around the paths
- Integrations
- NotionBufferS3 storage
- Controls
- Duplicate checksSeparate review stepHuman approvalStuck-item recovery
Tools
- n8n
- Notion
- Buffer
- S3 storage
- Large language models
04Result
Built, reviewed and hardened.
- The pipeline was built for the QR Rapid blog and hardened after a review of its failure modes, including the idempotency gaps described above.
- Human approval remains the final step. The automation reduces the reading and formatting; it does not publish on its own.
- We make no claims here about traffic, output volume or time saved. This is an account of how it was designed, and what we would do the same way again.