Tagged cloudflare
Every post on this blog tagged cloudflare.
10 posts2026113 minutes of reading
3 min
Carrel, part 1: a writing desk that lives apart from the site
Carrel, part 1
Why the writing for this site moved out of the site's own admin and into a separate private tool, and what that separation buys.
10 min
Rendering Observable Plot charts inside a Cloudflare Worker
How to render accessible Observable Plot charts inside a Cloudflare Worker with linkedom, with the same output in Node and workerd.
13 min
Building an MCP server on Cloudflare Workers with OAuth
How to build a production MCP server on Cloudflare Workers, choose its auth by testing your real client first, and keep policy out of it.
12 min
Giving an AI agent write access to a live site
How to give an AI agent real write access to a production site safely, with one shared write path and one operation only a human can perform.
21 min
Every Cloudflare product, and which ones this site runs on
What every Cloudflare developer product does as of September 2026, and which ones a complete site runs on and why.
11 min
Site search on Cloudflare D1 with SQLite full-text search
How to build site search on Cloudflare D1 with SQLite FTS5, using two indexes for stemmed and exact matches and reciprocal rank fusion to rank them.
15 min
How this blog stores posts in git and serves them from D1
How to keep markdown posts in git as the source of truth and serve every read from Cloudflare D1, with one renderer shared by the build and the Worker.
11 min
A blog reading experience that works without JavaScript
How to build a table of contents, progress bar, copy buttons, footnote previews and a lightbox that work without JavaScript and add under 2 kB.
11 min
Adding an AI answer mode to site search with Cloudflare AI Search
How to add an AI answer mode to site search with Cloudflare AI Search, keep its index in sync on save, and put cost limits in front of it.
6 min
Where should a blog store its words?
Two content models for a Cloudflare-native blog, one database, and the four arguments that settled it.