Last year a feature I shipped got cut from the roadmap.
I almost deleted the whole branch.
Instead I spent an afternoon stripping it for parts. Three of those parts are still in the product today.
Same rule works for content.
A canceled program isn't dead weight. It's a parts bin.
Protect the assets, repurpose the winners, pitch a leaner v2 with the data.
CMI wrote the playbook: contentmarketinginstitute.co…
Last month I almost added llms.txt support to our publishing tool.
Customers kept asking. AI needs it to find your content, they said.
Then I went looking for proof it works.
I couldn't find any.
This week Ahrefs checked 137,000 sites. 97% of llms.txt files got zero requests last month.
The only bots reading them are coding agents, not AI search.
I shelved the feature.
ahrefs.com/blog/llmstxt-stud…
A thing I keep relearning as a builder:
A feature customers ask for isn't the same as a feature that works.
Ask for the data before you commit the sprint.
I almost shipped an AI feature that fed client credentials straight into a chatbot.
Caught it in review.
Turns out that data can count as public record. One prompt could've been a breach.
Now I route everything through MCP. The agent gets the job done, the secrets never leave my systems. If you're bolting AI onto WordPress, build the proxy before the feature. WP Tavern goes deep: wptavern.com/podcast/216-mat…
When's the last time you checked if an AI quotes your blog?
I hadn't. So I asked one a question my own post answers.
It cited a competitor. Not me. That stung enough to fix it.
I rewrote the post. Answer up top. Named source. One claim per paragraph.
Two weeks later, it's the post the AI quotes.
Same facts. Different structure. That's the whole game now.
contentmarketinginstitute.co…
Then CMI dropped a list of 91 more I "should" follow.
That was the moment it clicked: reading about content is not making content.
I kept 5. Archived the rest. Started writing again.
contentmarketinginstitute.co…
I used to publish blog posts like a schedule release.
Here's the update. Here are the facts. Done.
They got nothing. No shares, no comments, no clicks.
Then I watched how the NFL announces the exact same thing.
They wrap dull news in a format people want to watch. Parodies. Easter eggs. Games.
I rewrote one post as a step-by-step a reader could follow along with.
First post in months that got replies.
contentmarketinginstitute.co…
I almost stopped testing my plugin on real sites.
The setup took longer than the fix.
Spin up Docker. Wait. Configure Apache. Wait. Half my afternoon gone before I wrote a single line of code.
Then Studio shipped for Linux.
New local site in under 2 minutes. HTTPS, custom domain, my editor detected automatically.
I test on five sites a day now without thinking about it.
wordpress.com/blog/2026/06/1…
"I've always loved passing, it's always one of my greatest joys to get my teammates an assist... it's truly for me better than hitting a great shot."
NBA Player Correspondent @Kon2Knueppel crashes KAT’s presser to ask him about his playmaking this postseason!
I almost hired a translator to take our blog multilingual.
Quote came back: $50 to $100 an hour, five hours a post.
Then I tested AI translation and felt a little sick about that quote.
AI got me to about 99% accurate in minutes. I kept a human only for the tricky technical terms.
Cost dropped from hundreds per post to cents plus 30 minutes.
Translation stopped being a budget line.
wptavern.com/podcast/217-leo…