
Our blog cover images were a mishmash. Years of varying styles and quality, no through-line, nothing that read as one brand. It bugged me for months. Filing a design ticket felt like a three-week detour, so one afternoon this week I did it myself.
Eighty-one posts, two years of the blog. New cover on every one. Done before dinner.
Three tools carried it: Claude Code to run the pipeline, the Contentful MCP to hold the posts and take the new covers back, and Ideogram to generate the art. Here is how the afternoon actually went.
The biggest unlock wasn't a tool. Our engineering team told me: just push your work to production. For web deploys, don't wait for human review. If the AI does the code review and says it's good, ship it and move on.

One from the batch: the new cover on Top 10 push notification providers.
Claude Code built the pipeline and ran it as a fleet: Opus 4.8 orchestrating, Sonnet 5 doing the work, one agent per post, all in parallel. I wrote no code. Nobody does anymore.
The framework was mine: six angles per post. Four depict the actual content:
The other two are abstract fallbacks, for when the literal ones miss. Each worker did the same job: read its post, summarize it, write one concept per angle, render all six through Ideogram.
Then it built me a small local picker. Six options per post, side by side with the current cover, click to choose. When one was close but not right, I edited its prompt in the picker. It re-rendered that one image and swapped it in place. No reload. Once I picked the winners, it optimized each one and pushed it back to Contentful.

The new cover on Why AI is so good at translation.
The Contentful MCP moved the content in and out. Our posts are structured entries, not pages to scrape.
Going in: Claude pulled each post through the MCP and read it, so it knew what the article was about. Coming out: once I picked a cover, Claude uploaded it, set the headerImage, and republished. Same MCP, both directions.
No dashboard. No clicking through 81 entries by hand. The old images stayed in the library, so nothing broke. That is the real value: structured content I can drive from code, not a UI I have to sit in.

The new cover on I built an AI board member in Cursor.
Two choices did the heavy lifting.
First, the style. Instead of describing a house look in all 81 prompts and watching it drift, I ran every one through a single Ideogram style model, a minimal "poster" look. The style came for free, and every cover matched the next.
Second, the prompts. They stayed short, one line of concept per angle. Ideogram's magic-prompt expanded each one into the finished art direction. I owned the idea, the model owned the styling.
The concepts came from real summaries, so the covers were about the article, not stock art. The two abstract angles were a safety net, a clean fallback when a literal take missed. And renders came back in seconds. That is the only reason iterating across 500 of them was possible.

The new cover on Build with AI: let your agent handle notifications end to end.
The gap between "our blog should look better" and "our blog looks better" used to be a couple headcount coordinating. Three tools closed it to an afternoon. This is the same reason we ship a Courier MCP: when the plumbing gets out of the way, one person can do a lot, fast.
But tools were only half of it. Because I could push straight to prod, I owned the problem and the outcome end to end.

Customer messaging tools that don't need engineers
Most companies run two systems: a marketing tool for campaigns, and something else for product notifications. Here are nine tools product and growth teams can run without engineering, what still needs a developer, and what each one costs.

Courier Skills: teach your AI agent to build with Courier
Courier Skills is a free, open-source knowledge base that teaches your AI coding agent how to build and debug notifications with Courier: the right primitive for each use case, the exact payload shapes, and the mistakes that produce unhelpful errors. The rebuilt version is smaller, leads every reference with the failure modes, and installs on any agent that reads skills with one command: `npx skills add trycourier/courier-skills`.

How Apple's on-device AI works, and what it changes for your users
Apple's 2026 on-device models (AFM 3) are good enough to read, rank, and summarize everything that lands on your phone, locally and for free. Here's how they actually work, in plain terms, and how a model that reads every message before your users do changes what you should send.
© 2026 Courier. All rights reserved.