ajmani.dev is my technical blog and my main playground for automation. Two parts make it work: a WordPress theme I wrote from scratch, and a set of n8n workflows that handle keyword research and drafting.
What it does
- Publishes comparisons, reviews and tutorials about developer tools, organised into topic categories.
- Researches keywords per category, writes a structured brief (title, slug, meta description, outline, FAQ) and drafts the article.
- Creates WordPress drafts with category, excerpt and SEO fields already filled, ready for review.
How I built it
The theme
No page builder: plain PHP templates, one stylesheet and a small script. A content filter improves every article at render time: heading anchors and a table of contents, styled pros and cons, comparison tables that scroll on mobile, a highlighted verdict, FAQ structured data, and repair of broken images and dead internal links. The header is a single sticky bar with an inline search, cards are fully clickable, and pagination is crawlable without JavaScript.
A cleanup screen in wp-admin merges duplicate posts with 301 redirects, assigns topic categories with ordered rules and keeps an undo history for every batch.
The pipeline
n8n reads pending keywords from Google Sheets, checks them against every published post to avoid duplicates, then calls a language model through OpenRouter twice: once for the brief and once for the article. A code step removes invented links, appends the FAQ and flags problems such as short drafts or unverifiable first-person claims before the draft is created through the WordPress REST API.
Deployment
The theme lives in Git. A push to master triggers a GitHub Actions job that connects to the server over SSH and resets the theme folder to the new commit.
What I learned
The first version of the pipeline published directly and produced duplicate posts and links to pages that did not exist. The current version only creates drafts, checks every link against the real site and stops on duplicates. Automation is only useful with a review step and checks built in.