All works
Impact Stories Blog Automation
AIContent AutomationNext.jsAIn8n

Impact Stories Blog Automation

Wayan Phantom Megaditha

Wayan Phantom Megaditha

Developer & Automation Architect

Live ↗GitHub ↗

The Problem

Organizations doing impact work, NGOs, social enterprises, grant-funded programs, produce outcomes worth writing about. The data exists. The results are real. But turning them into published articles takes time and people that most teams do not have spare. Content operations are bottlenecked by writing, and the backlog of untold stories keeps growing. This pipeline removes that bottleneck.


How It Works

  1. A program manager enters structured inputs into a connected Airtable base: project summary, key metrics, stakeholder quotes, and outcome context.
  2. An n8n workflow triggers on new Airtable records. A planning node outlines the story structure based on the input type: case study, impact report, or field update.
  3. A writing node drafts the full article using the plan as its prompt context.
  4. An editing node reads the draft as a critical reader rather than a writer. It flags verbose sections, repetition, and tone inconsistencies before anything goes live.
  5. The approved post is pushed to the Next.js frontend via a content API. Pages are statically generated at publish time so they load fast and index well in search.

Tech Stack

n8nVisual workflow construction without code, accessible to non-developer program managers
AirtableMost NGO teams already use it for program tracking, zero onboarding friction
Gemini APIHandles long-context writing tasks well, accessible without enterprise pricing
Next.jsStatic generation is the right performance profile for a blog updating several times per week
MDXAllows rich content components inside markdown without a full CMS

What I Would Improve

The editing node catches surface-level issues but does not check factual accuracy against the source data. Adding a grounding step that cross-references the draft against the original Airtable record would reduce the chance of AI-introduced errors. The current pipeline treats all story types the same. A routing step that branches into different prompt templates by story type would improve output quality for each format. There is also no human-in-the-loop review before publish. Adding an optional approval step that sends a preview to the program manager via Slack would give teams more control without adding significant friction.

Screenshots

Wayan Phantom Megaditha

Wayan Phantom Megaditha

Fullstack Engineer · AI & Web3

Next.jsAIn8nContent AutomationLLM