Client
MobiLoud, a B2B SaaS company.
Business Objective
Increase blog publishing output without adding headcount, and without sacrificing SEO quality or brand voice consistency along the way.
Challenge
Before this system, the team could realistically publish two to three blog posts a week. Every post went through the same slow starting point: pick a topic, research keywords by hand, sketch an outline, then write. Most of the time went into the parts before the actual writing, not the writing itself.
Speeding that up with a generic AI prompt wasn’t an option. A single prompt has no memory of brand voice, no access to real keyword data, and no way to catch its own mistakes. It would need to be rebuilt from scratch, or worse, fixed by hand, every time it drifted off-brand.
My Role
I designed and built the entire system on my own: the orchestration logic, the SEO data pipeline, and every reference file that keeps the output on-brand. I also maintain it, refining the guardrails as new edge cases show up in review.
Strategy
Instead of relying on one prompt to do everything, I treated the whole thing as an orchestra of smaller, specialized parts that all report to one conductor. The system takes three inputs, a title or topic, a target word count, and a main keyword, and runs them through a pipeline built from a set of Markdown files, each with one job:
- A master prompt that orchestrates every other file and decides what happens at each step.
- Context and brand information files, so every output reflects how the company actually talks.
- Outline requirement files, defining what structure a finished piece needs to hit.
- Internal linking requirement files, so new content connects to existing pages the way an SEO strategy expects.
- A tone-of-voice file the system checks its own output against before finalizing.
- A living “things to avoid” file, updated whenever I catch the AI doing something we don’t want, so it can catch that same mistake on its own next time.
Execution
Keyword research runs through the DataForSEO API, but raw API output isn’t something you can hand to a writer or a client for review. I built a custom Python script that translates that data into a plain-language summary, so anyone on the team can sanity-check search volume, difficulty, and intent without reading raw JSON.
From there, the system runs in a loop rather than a single pass. It drafts an outline, checks it against the tone-of-voice and “things to avoid” files, and corrects itself before the outline is ever shown to a human. That loop is what makes the guardrail files worth maintaining: every correction I add gets enforced automatically on every future run, not just the one where I noticed the problem.
The output isn’t publish-ready copy. It’s AI-generated, and it reads like it. But it removes the slowest, most repetitive parts of the job, topic ideation, keyword research, and outline structuring, so a writer can start from a solid draft instead of a blank page.
Results
- Publishing cadence went from two to three posts a week to one to two posts or pages a day, roughly a 3-5x increase in output.
- Ideation and keyword research, previously the biggest time sink, dropped from hours to minutes per piece.
- Outline quality became more consistent, since every draft is checked against the same brand and SEO requirements before a human ever sees it.
Reflection
Honestly, the feedback loop taught me more than the prompt engineering ever did. That “things to avoid” file sounds small, but it’s the one piece that actually lets the system get better on its own instead of repeating the same mistake every few runs. If I built this again, I’d start with that file on day one instead of bolting it on later.
I try to be upfront about what this thing actually is. It’s not some magic content machine. It just clears out the slow, repetitive parts of the job so a writer starts from something instead of a blank page. Everything still gets a human pass before it goes near a client, and I think that honesty is exactly why the system holds up instead of quietly creating more work than it saves.