Simon Willison’s Weblog

Subscribe

Adding TILs, releases, museums, tools and research to my blog

20th February 2026

I’ve been wanting to add indications of my various other online activities to my blog for a while now. I just turned on a new feature I’m calling “beats” (after story beats, naming this was hard!) which adds five new types of content to my site, all corresponding to activity elsewhere.

Here’s what beats look like:

Screenshot of a fragment of a page showing three entries from 30th Dec 2025. First: [RELEASE] "datasette-turnstile 0.1a0 — Configurable CAPTCHAs for Datasette paths usin…" at 7:23 pm. Second: [TOOL] "Software Heritage Repository Retriever — Download archived Git repositories f…" at 11:41 pm. Third: [TIL] "Downloading archived Git repositories from archive.softwareheritage.org — …" at 11:43 pm.

Those three are from the 30th December 2025 archive page.

Beats are little inline links with badges that fit into different content timeline views around my site, including the homepage, search and archive pages.

There are currently five types of beats:

That’s five different custom integrations to pull in all of that data. The good news is that this kind of integration project is the kind of thing that coding agents really excel at. I knocked most of the feature out in a single morning while working in parallel on various other things.

I didn’t have a useful structured feed of my Research projects, and it didn’t matter because I gave Claude Code a link to the raw Markdown README that lists them all and it spun up a parser regex. Since I’m responsible for both the source and the destination I’m fine with a brittle solution that would be too risky against a source that I don’t control myself.

Claude also handled all of the potentially tedious UI integration work with my site, making sure the new content worked on all of my different page types and was handled correctly by my faceted search engine.

Prototyping with Claude Artifacts

I actually prototyped the initial concept for beats in regular Claude—not Claude Code—taking advantage of the fact that it can clone public repos from GitHub these days. I started with:

Clone simonw/simonwillisonblog and tell me about the models and views

And then later in the brainstorming session said:

use the templates and CSS in this repo to create a new artifact with all HTML and CSS inline that shows me my homepage with some of those inline content types mixed in

After some iteration we got to this artifact mockup, which was enough to convince me that the concept had legs and was worth handing over to full Claude Code for web to implement.

If you want to see how the rest of the build played out the most interesting PRs are Beats #592 which implemented the core feature and Add Museums Beat importer #595 which added the Museums content type.

More recent articles

This is Adding TILs, releases, museums, tools and research to my blog by Simon Willison, posted on 20th February 2026.

Part of series How I blog

  1. A homepage redesign for my blog's 22nd birthday - June 12, 2024, 7:59 p.m.
  2. My approach to running a link blog - Dec. 22, 2024, 6:37 p.m.
  3. How I automate my Substack newsletter with content from my blog - Nov. 19, 2025, 10 p.m.
  4. Adding TILs, releases, museums, tools and research to my blog - Feb. 20, 2026, 11:47 p.m.

Previous: Two new Showboat tools: Chartroom and datasette-showboat

Monthly briefing

Sponsor me for $10/month and get a curated email digest of the month's most important LLM developments.

Pay me to send you less!

Sponsor & subscribe