Everything here, I've used myself. If you buy through these links, I earn a small commission — but that's not why I wrote this.
An AI system writes my LinkedIn posts now. It drafts them in my voice, from a bank of my own stories, and every post waits for my approval before it goes anywhere. Most mornings my part takes a few minutes of reading and the occasional changed line, instead of the hour a decent post used to cost me.
Search for a LinkedIn content engine and you will find a page of tools promising exactly that from $29 a month, each with the same screenshots and the same claim to write like you. I went the ambitious route first: a fully autonomous bot, which I killed after weeks of frustration. What replaced it was built in one afternoon, published real posts within a day, and has been growing in place ever since as one piece of the wider marketing setup I run from a terminal. Four months on, my following is up 39%, per LinkedIn’s own analytics.
This is the build log, dated and warts-on. The bot that died, the model that invented a job title for me, the pipeline that failed silently twice, and the numbers as they actually stand. If you are weighing whether to buy one of those tools or build your own, this is what building your own actually looks like.
Key Takeaways
- My first attempt, a fully autonomous bot, was killed after weeks of frustration. The terminal system that replaced it worked within a day and has evolved continuously since. It was never rebuilt or restarted.
- My LinkedIn following is up 39% in 4 months, at 13,336 followers, per LinkedIn’s own analytics. Correct as of 11 August 2026.
- Writing time per post has dropped from around an hour to a few minutes of review.
- The system reads its own engagement data to sharpen future drafts. That makes it a better editor over time, not a formula for going viral.
- It still breaks: two silent posting failures so far, and a story bank that starts repeating itself without active curation.
Why I Wanted LinkedIn to Run Itself
I run an agency, 2Stallions, a product business, ChutneyAds, and a fund, CG Ventures, across Southeast Asia. I have things worth saying most weeks. What I did not have was the hour per post it takes to say them well, several times a week, indefinitely.
Enough people had asked me how I kept posting that a working system felt worth building properly, and worth building well enough to hand to someone else if it worked. That second part mattered. I was not only solving my own problem. I was testing whether the problem was solvable at all.
Attempt One: The Bot I Killed After Weeks of Frustration
I wanted LinkedIn to run itself completely. Not draft-and-approve; fully autonomous, start to finish. OpenClaw was the tool everyone was talking about at the time, and the plan was straightforward: get it working well, then offer it to the people who had already asked how I did this.
It did not work well, and the reasons are worth knowing before you attempt the same thing.
The first wall was LinkedIn’s own data. I wanted the system to pull a person’s profile automatically, so it could learn their background without them typing it out. LinkedIn does have an official API for exactly that, and it is open only to members in the EU. I am in Singapore, and so is nearly everyone I would ever build this for. The workaround was almost embarrassing: ask each person to export their own profile as a PDF and upload the file. Hours of integration work, replaced by a form.
That was the smaller frustration. The bigger one was that I was debugging four things at once, and none of them would sit still long enough to fix. A provisioning system, an autonomous runtime, a drafting model, and a messaging bot, all talking to each other, all capable of breaking in ways that only surfaced once the other three were also running. Fix one, and the next failure would not appear until the next full attempt.
Then the drafting model, Gemini in that build, invented a job title for me. Not once; it was a pattern. I have never held the title it kept assigning me. I spent round after round tightening the guardrails, and it kept finding a new way to make something up. That was when I understood the problem was not a prompt I had yet to write. It was the model.
I killed the whole thing. Weeks of work, walked away from in an afternoon, because the alternative was months more of the same debugging loop with no guarantee it would end.
Citation capsule
My first attempt at automating LinkedIn content was a fully autonomous bot built on OpenClaw, designed to run without my involvement. It failed for three reasons: LinkedIn’s profile-data API is available only to EU members, which forced a manual PDF-export workaround; four interdependent systems made every bug unpredictable to reproduce; and the drafting model repeatedly invented a job title I have never held. I killed the project after weeks of frustration rather than keep fixing it.
The Rebuild: One Afternoon in the Terminal
Something else was happening in the same weeks. I was spending more of my working day directly in the terminal, and I liked it. No dashboard, no interface between me and the work; type what you want and watch it happen. Agentic AI on Claude and elsewhere was visibly taking off in the same window, which made the terminal feel less like a developer’s tool and more like the obvious place to build the next attempt, rather than persisting with OpenClaw.
So I rebuilt there, the same day I killed the bot. Markdown files instead of a database. One set of skills instead of four separate systems arguing with each other. No provisioning pipeline, no persona living on someone else’s messaging app. Just files that get read fresh every time, edited by hand when they need editing, and a handful of commands that turn a story into a draft.
It was rough on day one and better within hours. I reorganised how the commands were grouped before the first batch of posts even went out, because using it for an afternoon told me more about what it needed than a week of planning would have.
Four steps, and every one of them earned its place. A story goes into the bank. The AI drafts a post from it, in my voice rather than a generic one. I read it and decide whether it ships as-is or gets a line changed. Then it is scheduled. Nothing autonomous, nothing running unattended overnight. A tool I operate, not a system I have to trust blindly.
That was enough to publish the first real batch of posts. It was never enough to stay still.
The Months After: Teaching It to Learn From Itself
From the outside, what runs today looks like a second system. It is not. It is the same afternoon build, changed continuously in place between April and July, one addition at a time, with no rewrite and no restart. Every version of it has shipped real posts.
The addition that changed what the system is: pulling engagement data back in. Once a post has been live for a while, the system reads how it performed and folds that back into how it writes the next one. That turned it from a drafting tool into something closer to a learning system, one with real opinions about what has landed and what has not, based on what actually happened rather than a guess.
A handful of other capabilities arrived alongside it, one at a time rather than as an overhaul. The system can assemble a multi-image carousel now, not just a single post. It writes its own image prompt for each post, generates the image through Gemini or ChatGPT, then presents it for approval with its own verdict on whether the result works, so I am judging a candidate rather than starting from a blank canvas. It tracks roughly what each post costs to produce. It catches a screenshot and matches it to the right draft instead of leaving me to hunt for the file. None of these were the point on their own. Together they turned an afternoon’s tool into something I trust to run most of my week.
What surprised me was how little of this felt like engineering by the end. Each change was a response to something specific that had annoyed me the week before, not a plan I sat down and designed. That is the opposite of the first attempt, where I tried to specify everything up front and got a job title invented at me for my trouble.
Where It Actually Stands Today
The first post the system ever drafted went out on 4 May 2026. Four months later, my following is up 39%, at 13,336 followers, correct as of 11 August 2026. That is a whole-account figure straight from LinkedIn’s own analytics, not a projection.
The shape of that chart matters as much as the number. Daily follower gains settle into a steady rhythm that tracks my posting cadence: a repeating weekly pattern that shows up whether or not any single post has done unusually well. That is a more useful claim than “it sometimes goes viral”. It means the baseline itself moved, not just the ceiling.
The story bank has grown past 269 entries, more than double what it held in its first month. Dozens of posts have gone out through the system, most weekdays engine-drafted, with a couple of days a week kept for posts I write by hand when something needs my direct voice and nothing else will do. The time cost per engine-drafted post is a few minutes of review; the time cost of a hand-written post is the same hour it always was, which is exactly why those are now the exception.
Citation capsule
Running a self-built AI system that drafts LinkedIn content from a personal story bank, my follower growth is up 39% in 4 months to 13,336 followers as of 11 August 2026, verified directly from LinkedIn’s own analytics. Daily follower gains show a steady, repeating pattern tied to posting cadence rather than isolated viral spikes, indicating the system lifted baseline growth rather than producing occasional lucky outliers.
What Still Breaks
None of this is finished, and I would rather say so than let the numbers above do all the talking.
The posting pipeline, which runs through Postiz, has failed silently twice. Once, the server it runs on ran out of disk space and stopped posting without telling me. Another time, my LinkedIn auth token expired in the background and nothing flagged it. Both times, I only found out because a post I expected to see simply was not there. Silent failure is the worst kind, because there is no error to react to, only an absence you have to notice yourself.
The self-learning loop is still early, and it is not a formula. Reach on LinkedIn does not compound the way you might hope. Most days sit on a low, slowly rising baseline, and then, without warning, a couple of days spike far above everything around them, by many multiples rather than a modest bump.
Nothing in the story, the topic, or the timing predicted either spike above, and nothing since has reproduced one on command. The learning loop makes the system a sharper editor over time. It has not found a repeatable trigger for the days that spike, and I do not believe anyone selling one has found it either. The honest conclusion is that reach is mostly a slow grind with occasional, unearned luck layered on top.
The story bank is not set-and-forget either. Left alone, it will resurface the same underlying story from a slightly different angle too soon after the original ran. Nobody notices at first read, but a regular reader will. Growing the bank and curating the bank are different jobs, and only the second one protects the writing from repeating itself.
Should You Build One or Buy One?
If you found this page comparing tools, here is the honest split. Buy an off-the-shelf AI writing tool if you post occasionally and mostly need a starting draft to react to; the monthly fee is lower than the setup time a custom system demands. Build your own if you post several times a week, care that the output sounds like you rather than like everyone else using the same template, and want your stories, your engagement data, and your voice rules living in files you own.
The catch with building is everything above: the failed first attempt, the silent pipeline failures, the curation work that never fully goes away. The catch with buying is that no subscription tool holds a bank of your actual stories, and generic input produces generic posts no matter how good the model is.
Building also buys you one thing a subscription never will: the system is not wedded to a platform. Mine runs on Claude because that is where I work, but everything in it is markdown files and skills, and the same setup runs on ChatGPT’s Codex too. If a better model arrives tomorrow, the story bank, the voice rules and the engagement history all move with you.
There is a third path: have it built for you. I do not sell this as a product. I set it up directly, shaped around your stories and your voice. Get in touch and we will talk through what your version would actually need.
Frequently Asked Questions
What is a LinkedIn content engine?
A LinkedIn content engine is a repeatable system that turns raw material, usually your own stories and experience, into a steady stream of published LinkedIn posts. It combines a content source, an AI drafting step, human review, and scheduling. The version described in this article adds a further step: it reads engagement data from published posts and uses it to refine future drafts.
What is the best LinkedIn content tool?
There is no single best tool, only a best fit for how much control you want. Off-the-shelf AI writing tools are faster to start with but produce generic output until heavily customised. A self-built system, like the one in this article, takes longer to set up but learns your voice directly from your own stories rather than a generic template.
Can I use AI to create content for LinkedIn?
Yes, and LinkedIn does not prohibit it. The distinction that matters is quality and disclosure, not the tool itself. AI-drafted content that is voice-matched to the real author, reviewed before it posts, and honest about being AI-assisted where relevant reads differently to a reader than generic, unreviewed AI output does.
How much does a LinkedIn ghostwriter cost compared to building your own system?
Professional LinkedIn ghostwriters typically charge anywhere from a few hundred to several thousand dollars a month, depending on posting frequency and the writer’s experience. Building your own AI-assisted system costs far less to run month to month, though it takes real setup time upfront that a hired ghostwriter does not require of you.
Is it ethical to post AI-drafted LinkedIn content under your own name?
It is, provided the content is genuinely voice-matched, grounded in your real experience, and reviewed by you before it posts. What matters is whether the result is honestly yours: your stories, your judgement on what ships, and your name taking responsibility for what it says, regardless of which tool produced the first draft.
What actually goes wrong when you try to automate LinkedIn content?
The posting pipeline can fail silently, from something as mundane as a server running out of disk space or a login token expiring unnoticed. The system will not develop a formula for virality, only a better sense of what has worked before. And a growing story bank needs active curation, or it will eventually repeat itself from a different angle too soon.
The Honest Version
One bot killed after weeks of frustration, then one afternoon’s build that worked, shipped, and kept growing in place for months. What runs today writes most of my LinkedIn content, learns from what actually happens after each post, and has coincided with my following growing 39% in 4 months while my own time per post fell to minutes.
It still fails silently sometimes. It still has no formula for what takes off. It still needs me checking that the story bank is not repeating itself. Any tool or agency telling you an AI content system runs itself without any of that is selling you the tidy version, and I would rather show you mine.
If you want this built for yourself rather than from scratch, get in touch. I set these up directly, not as a packaged product.