3 Ships, Zero Excuses
The gap that kept showing up was not the writing. It was the publishing, the last 20% that takes 80% of the energy. This week I shipped 3 things that close that gap.
The Last 20%
Every pipeline that turns building into publishing eventually breaks at the same point. The writing is solved. The dispatch is not.
You build something. The session gets captured. The transformer drafts the post. The draft lands in your queue. You approve. Then you open three browser tabs and start copy-pasting.
The friction was never the writing. It was everything after the writing.
What Shipped This Week
Three things that remove steps instead of adding power.
One API call
Buffer integration. X, LinkedIn, Threads in a single call. Free tier: 3 channels, 10 queued posts, 3,000 API calls a month.
Custom banners
Config + HTML template, opens in your browser. No Node, no Puppeteer. Edit a CSS variable, hit refresh, ship.
5 strategy docs
Frontmatter, version history, status markers, supersedes lineage. Voice-matched output starts from a clean input contract.
One API Call, Three Platforms
Buffer integration that falls back to direct APIs when you outgrow the free tier.
The Buffer integration posts to X, LinkedIn, and Threads in a single call. No copy-paste between tabs. No three separate logins. No scheduling tool with its own auth flow.
It is built on Buffer’s multi-platform API. The free tier is genuinely generous: 3 channels, 10 posts in queue, 3,000 API calls a month. One post a day across three platforms with headroom.
3 channels · 10 queued · 3,000 calls/mo
One post a day, three platforms, with headroom. No credit card to start.
Direct X and LinkedIn APIs
When you outgrow the free tier, the tool falls back automatically. No config change, no tool switch.
The marginal cost from ‘shipped a build’ to ‘published across three platforms’ is now near zero.
Banners Without the Node Tax
Open one command. Edit a CSS variable. Hit refresh. The visual renders.
The banner tool generates post visuals from a config file and an HTML template. Open one command. A real HTML file opens in your browser. Edit a CSS variable. Hit refresh. See the new banner.
No Node setup. No Puppeteer. No Chrome path fixes. No shell-out dance. The engine is Playwright + system Chrome. The templates use CSS variables in a :root block. Change a color, save, render.
14 unit tests + 1 snapshot
If a banner drifts more than 2% pixel-wise, the test fails. Drift is caught before it ships.
No more ‘no banner’ excuse
A post without a banner looks half-finished. The lack of a visual is the most common reason builders skip posting.
The tool removes the most common excuse for not posting.
Five Strategy Docs, Voice Matched
The pipeline reads these to write in your voice. Drift in, drift out.
The docs the pipeline reads to write in your voice got a structural rewrite. Clean frontmatter. Version history. Status markers. Supersedes lineage. A clear source-of-truth declaration for every concept.
When the docs are clean, the output is clean. When they drift, the output drifts. The polish is not cosmetic. It is the input contract for the entire pipeline.
The five docs are the difference between an AI that sounds like you and an AI that sounds like an AI. They are not optional. They are the moat.
Removing Friction Beats Adding Features
These 3 ships do not add power. They remove steps. That is the whole point.
The week’s lesson: removing friction from publishing is worth more than adding another feature. When the marginal cost of publish is near zero, the only question left is what is worth saying.
The constraint shifts from effort to taste. The pipeline handles the dispatch. You stay the editor. The builder never stops being the builder.
Clone, Setup, Ship
The repo is open source. The setup is a 14-question prompt.
Clone the repo. Drop the setup prompt into any LLM agent. Walk through the 14-question setup. The five strategy documents get filled with your strategy. Then every build session becomes:
No editorial calendar. No ‘what should I post’ loops. No blank pages. You build. The pipeline posts.