Intro
I’ve been wanting to blog for years, but actually sitting down and hitting publish always felt like a lot. Not hard, just… friction. Copy paste, formatting, rewriting thoughts into something readable.
I didn’t want blogging to feel like work. I wanted something that could take my raw notes, wherever they come from, and turn them into something usable without me babysitting the process.
So I built a pipeline that does exactly that.
It pulls rough ideas, cleans them up with AI, and drops a ready-to-review draft into WordPress in under two minutes.
It took me way too many hours to get right, but now that it works, it actually makes me want to write more.
The Idea
The goal was simple.
I should be able to dump thoughts somewhere, messy, half-finished, whatever, and let the system handle the rest.
No formatting. No rewriting. No jumping between five apps.
Just:
- idea → processed → draft ready to publish
Shoutout to @NetworkChuck for the initial idea push here.
At the end of the day, I would rather spend my time building systems like this than manually writing and formatting every post.
The Stack
Everything runs on my local Ubuntu setup.
Nothing fancy, just tools I already use stitched together properly.
- Portal
A custom React app where I added a “Blogger Intake” page. This is where I submit ideas. - n8n
The glue. Handles the workflow, triggers, file movement, and orchestration. - Vault (Markdown files)
Just a folder structure acting as a content database. - Python AI Agent
A simple script that sends drafts to GPT-4o-mini with my tone rules and saves the result. Might change the model, but its CHEAP. - WordPress (almnjoy.dev)
Fresh install, used purely for publishing. Setting this site up was honestly a lot of fun… and I love how it turned out. - Discord
Just notifications so I know when something is ready.
The Flow
This is what actually happens when I submit an idea.
-
Submit an idea: I go to my portal, enter a title and rough notes, and click submit. The format can be anything—bullet points, technical jargon, or just freestyle thoughts.
-
n8n picks it up: The portal creates a markdown file and drops it into the vault. That triggers a webhook. n8n picks up the newest file, cleans it up slightly, and moves it into a Drafts folder using WebDAV.
-
AI agent polishes it: n8n calls a Python script via SSH.
That script:
- reads the markdown
- sends it to GPT-4o-mini with my tone rules
- writes the improved version into a Ready folder
-
Publish to WordPress: Another step runs the publisher script.
That:
- converts markdown to HTML
- handles categories/tags
- pushes it into WordPress via REST API as a draft
-
Discord notification:
I get a message with the post title and a link.
From there I can review it, tweak anything if needed, and publish.
The Struggles
This was not smooth. But honestly, that is where most of the learning and ideas came from.
A few things that actually slowed me down:
- Filename issues
I had inconsistent formatting between the portal, n8n, and the vault. Small differences caused way more issues than expected. - Hostinger limitations
My original site builder didn’t support what I needed, so I had to spin up WordPress instead. Ended up being a blessing because it led to this setup. - Markdown vs HTML
AI outputs markdown. WordPress wants HTML. Had to add a conversion step in Python. - Learning AI Tools
Messing with different models, prompts, memory, behavior. GPT, Claude, Codex. Honestly this could be its own post. There is a lot to learn just in getting consistent output.
What the AI Actually Does
The AI is not doing anything magical. It is just cleaning things up.
I gave it a tone guide based on how I actually write.
Main rules:
- no em dashes
- say the point first, explain after
- use real tools and IPs, but sanitize private info
- call out problems before solutions
- avoid corporate wording
- end with something useful or what I learned
It gets me about 80 to 90 percent of the way there.
I still review everything, but it removes most of the effort. And every new post becomes another reference point for improving future output.
What is Next
A few things I want to improve:
-
Featured image automation: The path already flows through the pipeline. Just need to finish the upload piece.
-
Auto content distribution: I want to automatically create short-form LinkedIn posts and a corresponding Discord message for content sharing.
-
Better tone training: The more I write, the better the outputs get.
-
More Automation: Thinking about feeding edited posts back into the system as memory.
What to Do Next
If you want to build something like this, do it!
Pick an idea that’s been in your head forever and just start. You’ll be surprised how far you get and how every new challenge feels like a new opportunity to test or develop something else.
This pipeline is about 20 hours of actual building and months of learning behind it. But I’ve enjoyed every minute of it.


