I automated 80% of my content pipeline. Here's what actually works (and what keeps breaking).
I post on LinkedIn, X, and Substack every day. Three platforms, different formats, different rules.
Doing it manually took 3-4 hours daily. Writing, formatting, scheduling, responding. It wasn’t sustainable for one person running an agency.
So I built a system. And I want to show you exactly how it works, because the architecture behind it applies to way more than content.
The 3-Layer Setup
Most people think “automation” means connecting Zapier to a few tools and hoping for the best. That approach breaks the first time something unexpected happens.
Instead I use three layers that separate thinking from doing:
Layer 1: Directives. These are written SOPs in plain markdown files. Each one defines a specific job: what the goal is, what inputs it needs, what tools to use, and what the output should look like. Think of them as instruction manuals that never forget a step.
Layer 2: Orchestration. This is the decision-making layer. It reads the directive, figures out what order things need to happen in, handles errors, and decides what to do when something breaks. This is where AI actually helps. Not generating content from scratch, but making decisions about what to do next.
Layer 3: Execution. Deterministic Python scripts that do exactly one thing. Post to LinkedIn. Check content quality. Scrape competitor posts. Upload to Google Sheets. No guessing, no AI hallucinations, just reliable code.
The key insight: AI is terrible at reliability but great at decision-making. Code is the opposite. Put each one where it works best.
What Actually Breaks
The system isn’t perfect. Here’s what goes wrong regularly:
AI vocabulary leaks in. Words like “crucial” and “pivotal” and “fostering” slip through. They’re statistically overused by AI and LinkedIn’s algorithm can detect it. I built a quality checker that scans every post for 50+ banned words and patterns, but new ones still sneak through.
Formatting across platforms is a nightmare. LinkedIn needs one sentence per line with blank breaks. X adds its own spacing so you use single line breaks. Substack Notes follow LinkedIn rules. Newsletters use prose paragraphs with headers. Getting the same idea formatted correctly for four different platforms means four different sets of rules, all enforced by code.
Visuals are the bottleneck. Text content generates fast. But carousels need PDF generation via an API. Infographics need image generation that consistently misspells words. Screenshots need a browser automation tool to capture the right page. Visual generation fails more often than anything else in the pipeline.
What I’d Do Differently
If I were starting over, three things:
Start with the quality gate, not the generator. I spent weeks building content generation before I had a reliable way to check if the output was any good. Build the quality check first. Then you can iterate on generation knowing you’ll catch problems.
Pick one platform and nail it before expanding. I tried to do LinkedIn, X, and Substack simultaneously from day one. Each platform has different rules, different algorithms, different formatting. Master one first. The content repurposes easily once you have it working.
Track what converts, not what gets likes. I wish I’d built conversion tracking earlier. Knowing which CTA on which post type on which day actually leads to a sale changes everything about what you create next week.
The Takeaway
The system saves me 2-3 hours per day. It catches quality issues I’d miss manually. It keeps me consistent when I don’t feel like posting.
But the real value isn’t the automation itself. It’s that the system forces me to be specific about what works and what doesn’t. Every directive I write makes the next week slightly better.
If you’re building any kind of repeatable process, the 3-layer model works. Separate the instructions from the decisions from the execution. Put AI where it’s strong and code where it’s reliable.
That’s the whole trick.