What the output looks like
Two columns: the competitor post that worked on the left, your post using the same structure on your own subject on the right, with the infographic already drawn.
The dashboard is two columns. Left: a competitor post that went viral. Right: your post, using the same structure on your own subject. Side by side, so you can see exactly what was borrowed and what was written.
Some of yours come with a generated infographic, some with a personal photo, some with nothing, because on X a plain text post is competitive and a feed where everything is packaged looks like a brand account.
Why X is the platform where this pays
I built this around a specific person: an agency owner selling conversion rate optimisation to e-commerce brands, who gets most of his clients from his personal profile.
That is the case where X is unreasonably good. In certain B2B niches the buyers are on the platform, they are reachable without ad spend, and a personal account outperforms a company one. So the system is not built to make a feed that performs. It is built to make a feed that sells, which is why the generation config carries your offer and your buyer, not just your topics.
The transfer, which is the whole trick
The honest question about any system like this is whether it is just copying. Here is the distinction, with a real example from a run.
- The original
- “entrepreneurship is about self-belief first and business skills second”
- What transferred
- The structure: X is about A first and B second, where A is the unexpected half
- What did not
- The subject, the claim, the evidence, the author's credibility
- The result
- “conversion rate optimization is about user psychology first and design tweaks second”
The second post is a real claim about a real field, made by someone who can defend it. It borrowed a sentence shape. That is the same thing every songwriter does with a chorus, and it is not the same thing as copying a song.
The line, and how to tell you crossed it
If you read your generated post and it is really about the same subject as the original, the generation config is too thin. It should be impossible to guess which competitor post yours came from without the left-hand column.
Building it
1Pick creators by niche, not by size
I track nine, all in and around one niche. Paste a username, tag the category, and it scrapes the profile and records followers and post count.
Pick people selling something like what you sell to people like your buyers. A huge general account teaches you what works for huge general accounts, which is not a lesson you can use.
2Write the analysis config
Three things from every post:
- The hook. On X this is the first line, because the first line is all anyone sees before deciding.
- The structure. One-liner, list, story, contrarian claim then proof.
- The engagement driver. What specifically made this post beat that account's own average.
That last one is the important one, and it needs the account's baseline to mean anything.
3Write the generation config, which is the actual work
This is the config that decides whether the system produces content or plagiarism. It has to describe your brand, your buyer, your content pillars, and specifically that the structure transfers and the subject does not.
A worked example, from a real run. The original post said: "entrepreneurship is about self-belief first and business skills second." the generated one said: "conversion rate optimization is about user psychology first and design tweaks second."
Same skeleton, entirely different claim, and the second one is a claim its author can actually defend. That is the target.
4Run the pipeline on a tight window
Top 3 of each creator's last 20 posts, past 30 days. About fifteen minutes to run.
The recency filter matters on X because the platform is conversational. A post that worked during a news cycle worked because of the news cycle.
5Run it weekly
This is the setting people skip. Once a week, on a schedule. The value is not the first run, it is never facing a blank page again, and never publishing filler because it was tuesday.
Three keys go in .env: Apify to scrape, an image model for the infographics, and your claude plan for the writing.
APIFY_API_TOKEN=... KIE_AI_API_KEY=... ANTHROPIC_API_KEY=...
The image key is the one people skip, and most of what this system produces is visual. Without it you get text and empty slots.
The image mix, and why some posts have none
Three kinds of post come out, and the ratio is deliberate:
- Infographics, generated in your style, carrying the same idea as the text rather than decorating it.
- Personal photos, from your own library, so the feed has a face in it.
- Plain text, no image at all.
X is the one big platform where a text-only post competes fine. A feed where every single post is packaged reads as a brand account, and brand accounts are exactly what people scroll past. The mix is the point.
What it costs
- Claude plan
- Pro, $20 a month
- Apify
- $5 of free credit a month, which covers a weekly run
- Infographics
- Cents per image
- Time per run
- About 15 minutes
- Cadence i would use
- weekly
What it gets wrong
- A thin generation config makes it a copier. The single biggest failure, and the one with a cost beyond bad content.
- It cannot see the thread. A post that worked because of what it was replying to looks like a standalone banger and is not.
- Contrarian claims need backing. The structure that performs on X is often a strong statement, and the generated version will make one you may not actually be able to defend. Read them.
- Automated publishing too early. One config mistake becomes thirty bad posts under your name. Read everything for the first few weeks.
- Tracking accounts that are too big. A post that worked because 400,000 people follow that person is not a pattern you can borrow.
The same architecture for short video is on Reels and TikTok; the multi-format version is on The content guide. New to Claude Code? Start here.


