End to end automation of site deployment with Claude27 September 2026
Automating website deployment with AI: I tell Claude which site to add or update and what to change, and everything after that is automatic, except my review of the pull request. Claude gets no Cloudflare credentials; it prepares one PR with config, custom domain and images, and GitHub Actions and Cloudflare Workers Builds deploy it after the merge.
Three layers of caching in front of a container that scales to zero26 September 2026
My blog's API is an Azure Container App that scales to zero, with a 30 second cold start. How three layers of caching keep readers from ever waiting on it: a stale-while-revalidate cache in a Cloudflare Worker, a durable KV fallback for Cloudflare's per-colo cache, and Cosmos DB Change Feed pushes so reads stop waking the container at all. With real monthly costs, and the trade-offs I accepted instead of solving.
Three Versions of a Blog-Post Counter17 September 2026
My blog counter went through three implementations in a week: fetching the whole article list to count it, a dedicated count endpoint that still cold-started the backend, and a Cosmos DB Change Feed keeping a Cloudflare KV value current so the read never touches origin. Plus a debugging story about one secret with three different names.
Adding Comments to This Blog: Cosmos, an Azure Function, and Cloudflare AI10 September 2026
How I added a moderated comment system to this blog: Cosmos DB's own Change Feed as the queue, an Azure Function scoring comments via Cloudflare Workers AI, least-privilege RBAC kept out of the CI pipeline on purpose, several real bugs found the hard way in production, and a mid-flight model upgrade after the small LLM proved unreliable.