Ship a Blog Syndication Feature From Your Phone

Simon Willison just published a short post showing how he added a new content stream to his blog without sitting down at a computer. He used Claude Code for web on his phone to wire iNaturalist photos into his existing syndication system, then back-filled over a decade of wildlife sightings. The whole thing rides on top of a pattern he calls “beats,” and what stands out is how casual the workflow has become. New camera, new content type, ship it from your pocket.

Here’s a practical walkthrough you can copy if you want to add an external content source to your own site using an AI coding assistant.

Quick Start

What you’ll learn: how to extend a personal site with a new syndicated content type by prompting an AI coding agent from a mobile device.

What you need: a blog or static site you control, an external service with an API or public profile (iNaturalist, Goodreads, Strava, etc.), and access to Claude Code (web or CLI).

Step 1: Pick the source you actually use

Willison started with iNaturalist because he was already posting wildlife photos there after buying a Canon R6 Mark II.

Why this matters: syndication only works if the upstream source has momentum. If you’re not already feeding it, the feature dies in a week.

Step 2: Prototype before you commit

He ran a successful prototype the day before building the real feature. The prototype confirmed the data was reachable and the format made sense on his blog.

Skipping this step is how you end up debugging a half-built integration instead of validating the idea.

Step 3: Build on an existing pattern, not from scratch

The new sightings feature is an extension of his “beats” system, which already handles syndicating external content. Reusing that scaffolding means the AI agent has working code to mirror, and the new content type inherits everything the old ones do (homepage rendering, archive pages, search indexing).

This is the leverage move. If you’re going to use an AI coding agent on a personal project, give it a template to clone rather than a blank file.

Step 4: Prompt from wherever you are

Willison built this on his phone using Claude Code for web. He shared both the pull request and the prompt publicly, which is worth studying.

The lesson: agentic coding tools have moved past “sit at your desk for two hours.” If you’ve already established the patterns in your repo, a phone is enough hardware to extend them.

Step 5: Wire the new content into every surface

Sightings appear on the homepage, the date archive pages, and site search results.

Don’t treat a new content type as a sidecar. If it’s worth publishing, it’s worth indexing everywhere your existing posts live.

Step 6: Back-populate the archive

He loaded over a decade of past iNaturalist sightings into the new system. Search for “lemur” on his blog and you’ll get his Madagascar photos from 2019.

Why this matters: a syndication feature with three entries looks broken. A syndication feature with ten years of history looks like a real section of the site, and it instantly improves search and SEO surface area.

What to take from this

The interesting story here isn’t the camera or the lemurs. It’s that a working developer treated “add a new content type to my blog” as a phone-sized task.

The two prerequisites that made it possible: an existing pattern in the codebase the agent could extend, and a quick prototype the day before to de-risk the idea.

Next steps

Pick one external service you already publish to. Read Willison’s PR and prompt to see how he framed the request. Then start with a 30-minute prototype on a branch before you let an agent touch your main syndication code.

Full details and the prompt are at the original source.

Scroll to Top