<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Dylan Bochman - Blog</title>
    <link>https://dylanbochman.com/blog</link>
    <description>Articles and insights on Site Reliability Engineering, Incident Management, DevOps, and System Reliability.</description>
    <language>en-us</language>
    <lastBuildDate>Sun, 09 Aug 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://dylanbochman.com/rss.xml" rel="self" type="application/rss+xml"/>
    <image>
      <url>https://dylanbochman.com/social-preview.png</url>
      <title>Dylan Bochman - Blog</title>
      <link>https://dylanbochman.com/blog</link>
    </image>
    <item>
      <title>The Smallest Useful Tailscale Setup</title>
      <link>https://dylanbochman.com/blog/2026-08-09-the-smallest-useful-tailscale-setup</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-08-09-the-smallest-useful-tailscale-setup</guid>
      <description>We made a local dashboard useful from either house by giving two people a private network and making the app listen on fewer interfaces.</description>
      <pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>Architecture</category>
      <category>Home Automation</category>
      <category>Security</category>
      <category>Tooling</category>
    </item>
    <item>
      <title>The State of Being Home</title>
      <link>https://dylanbochman.com/blog/2026-07-24-the-state-of-being-home</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-07-24-the-state-of-being-home</guid>
      <description>Our home presence detector evolved from fuzzy phone matching into a privacy-scoped evidence system with exact identities, explicit uncertainty, durable transitions, and staged authority.</description>
      <pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>Home Automation</category>
      <category>Reliability</category>
      <category>Architecture</category>
      <category>AI</category>
    </item>
    <item>
      <title>The HAR Was the Easy Part</title>
      <link>https://dylanbochman.com/blog/2026-07-20-the-har-was-the-easy-part</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-07-20-the-har-was-the-easy-part</guid>
      <description>Seven browser-driven financial scrapers grew into an HTTP-first collection system with versioned contracts, current-run artifacts, guarded imports, bounded recovery, and durable failure alerts.</description>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>AI</category>
      <category>SRE</category>
      <category>Architecture</category>
      <category>Tooling</category>
    </item>
    <item>
      <title>The Home Event System That Is Not Allowed to Automate</title>
      <link>https://dylanbochman.com/blog/2026-07-12-the-home-automation-system-that-is-not-allowed-to-automate</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-07-12-the-home-automation-system-that-is-not-allowed-to-automate</guid>
      <description>We built a durable local event bus for doorbell activity and presence, with read-only lock observations alongside a separate camera path. Its correlator can record and explain decisions, but it cannot notify or operate a device.</description>
      <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>Home Automation</category>
      <category>Reliability</category>
      <category>Architecture</category>
      <category>AI</category>
    </item>
    <item>
      <title>Decap CMS hook: netlify-build does not belong in config.yml</title>
      <link>https://dylanbochman.com/blog/2026-06-21-decap-cms-hook-netlify-build-config-yml</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-06-21-decap-cms-hook-netlify-build-config-yml</guid>
      <description>There is no hook: netlify-build setting in Decap CMS. Here is the correct config.yml for Git Gateway, when Netlify rebuilds automatically, and when to use a Netlify build hook.</description>
      <pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>Web Dev</category>
      <category>Tooling</category>
    </item>
    <item>
      <title>Disk Utility said it fixed my Mac. fsck_apfs disagreed.</title>
      <link>https://dylanbochman.com/blog/2026-06-21-disk-utility-said-it-fixed-my-mac</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-06-21-disk-utility-said-it-fixed-my-mac</guid>
      <description>macOS Tahoe&apos;s Disk Utility reported a successful APFS repair, but the same four inode warnings survived Recovery. The difference was hiding in fsck_apfs flags and one misleading exit code.</description>
      <pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan &amp; Claude)</author>
      <category>SRE</category>
      <category>Tooling</category>
    </item>
    <item>
      <title>The Dashboard That Measured January</title>
      <link>https://dylanbochman.com/blog/2026-06-12-the-dashboard-that-measured-january</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-06-12-the-dashboard-that-measured-january</guid>
      <description>Our analytics page reported a Lighthouse performance score of 95. The real number was closer to 52, and had been for months. Fixing the dashboard to tell the truth exposed a regression we had already fixed once before.</description>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan &amp; Claude)</author>
      <category>AI</category>
      <category>SRE</category>
      <category>Web Dev</category>
    </item>
    <item>
      <title>The Day Every Fix Uncovered the Next Bug</title>
      <link>https://dylanbochman.com/blog/2026-06-10-the-day-every-fix-uncovered-the-next-bug</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-06-10-the-day-every-fix-uncovered-the-next-bug</guid>
      <description>A failed Search Console validation turned into four production fixes: a redirect file that did nothing, 700KB of diagram library on every page, a CI step hung on a CDN, and the wrong snippet on our best-ranking query.</description>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan &amp; Claude)</author>
      <category>AI</category>
      <category>SRE</category>
      <category>Web Dev</category>
    </item>
    <item>
      <title>The Indexing Audit That Found a Redirect Loop</title>
      <link>https://dylanbochman.com/blog/2026-05-25-the-indexing-audit-that-found-a-redirect-loop</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-05-25-the-indexing-audit-that-found-a-redirect-loop</guid>
      <description>Google Search Console reported seven flavors of indexing trouble. Fixing them led me to a Cloudflare setting that had been quietly disabling half of the site&apos;s HTTPS for months.</description>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan &amp; Claude)</author>
      <category>SRE</category>
      <category>Security</category>
      <category>Web Dev</category>
    </item>
    <item>
      <title>Two Supply Chain Attacks in One Day</title>
      <link>https://dylanbochman.com/blog/2026-04-30-two-supply-chain-attacks-in-one-day</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-04-30-two-supply-chain-attacks-in-one-day</guid>
      <description>Lightning on PyPI and intercom-client on npm got compromised the same morning by what looks like the same attacker. We weren&apos;t exposed, but the threat shape changed enough that I walked back a position I took a month ago.</description>
      <pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan &amp; Claude)</author>
      <category>Security</category>
    </item>
    <item>
      <title>Anatomy of the axios Supply Chain Attack (and How We Checked Our Machines in 10 Minutes)</title>
      <link>https://dylanbochman.com/blog/2026-03-31-axios-supply-chain-attack</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-03-31-axios-supply-chain-attack</guid>
      <description>A compromised npm maintainer account pushed malware into axios. Here&apos;s how the attack worked, what it installed, and how we checked our machines in 10 minutes.</description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan &amp; Claude)</author>
      <category>Security</category>
    </item>
    <item>
      <title>Watchdogs and LaunchAgents: Managing Systems That Want to Break</title>
      <link>https://dylanbochman.com/blog/2026-03-14-watchdogs-and-launchagents</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-03-14-watchdogs-and-launchagents</guid>
      <description>What we learned building a watchdog for BlueBubbles and OpenClaw on a headless Mac Mini. Health monitors that cause the instability they&apos;re designed to detect, and how to fix them.</description>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan &amp; Claude)</author>
      <category>SRE</category>
      <category>AI</category>
    </item>
    <item>
      <title>EchoNest Sync and the Spotify API Shakeup</title>
      <link>https://dylanbochman.com/blog/2026-02-26-echonest-sync-and-the-spotify-api-shakeup</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-02-26-echonest-sync-and-the-spotify-api-shakeup</guid>
      <description>We built a desktop sync app for EchoNest. Then Spotify changed its API in ways that made us glad we did.</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>Music</category>
      <category>Python</category>
    </item>
    <item>
      <title>OpenClaw: Experimenting with a personal AI agent</title>
      <link>https://dylanbochman.com/blog/2026-02-24-openclaw-the-home-agent</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-02-24-openclaw-the-home-agent</guid>
      <description>What I learned running an open-source AI agent on a self-hosted Mac Mini. Least privilege, version-controlled config, and the boring plumbing that makes it work.</description>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan &amp; Claude)</author>
      <category>AI</category>
      <category>SRE</category>
    </item>
    <item>
      <title>EchoNest: The Office Jukebox That Won&apos;t Stay Retired</title>
      <link>https://dylanbochman.com/blog/2026-02-04-echonest-collaborative-music-queue</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-02-04-echonest-collaborative-music-queue</guid>
      <description>Resurrecting a 2017 office music system, complete with voting, airhorns, and historical throwbacks.</description>
      <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>Music</category>
      <category>Python</category>
    </item>
    <item>
      <title>The 404s Came Back</title>
      <link>https://dylanbochman.com/blog/2026-01-27-the-404s-came-back</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-27-the-404s-came-back</guid>
      <description>Weeks after pre-rendering blog routes to fix Googlebot 404s, the same problem returned for every route added since. Point fixes that don&apos;t generalize are not really fixes.</description>
      <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>Web Dev</category>
      <category>SRE</category>
    </item>
    <item>
      <title>Dotfiles for Consistent AI-Assisted Development</title>
      <link>https://dylanbochman.com/blog/2026-01-25-dotfiles-for-ai-assisted-development</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-25-dotfiles-for-ai-assisted-development</guid>
      <description>How I configured dotfiles to work across machines with Claude Code, Codex CLI, and 1Password for secrets, using symlinks, skills, and sync scripts.</description>
      <pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>Tooling</category>
      <category>AI</category>
    </item>
    <item>
      <title>Retrospectives That Actually Change Things</title>
      <link>https://dylanbochman.com/blog/2026-01-24-retrospectives-that-actually-change-things</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-24-retrospectives-that-actually-change-things</guid>
      <description>Most retrospectives promise progress and deliver paperwork. Here&apos;s how to turn incidents into lasting improvement.</description>
      <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>SRE</category>
      <category>Incident Management</category>
    </item>
    <item>
      <title>What Hundreds of Incidents Taught Me About Response</title>
      <link>https://dylanbochman.com/blog/2026-01-22-lessons-from-hundreds-of-incidents</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-22-lessons-from-hundreds-of-incidents</guid>
      <description>Practical incident response lessons from years at Groq, HashiCorp, and Spotify. What actually works when systems fail.</description>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>SRE</category>
      <category>Incident Management</category>
    </item>
    <item>
      <title>Tailwind CSS v4: The Performance Tradeoff We Accepted</title>
      <link>https://dylanbochman.com/blog/2026-01-21-tailwind-v4-upgrade-the-performance-tradeoff</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-21-tailwind-v4-upgrade-the-performance-tradeoff</guid>
      <description>We upgraded to Tailwind CSS v4 expecting faster builds. We got them. We also got a 37% larger CSS bundle and a 16-point Lighthouse regression. Here&apos;s why we shipped it anyway.</description>
      <pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>Performance</category>
      <category>Web Dev</category>
    </item>
    <item>
      <title>The SLO Math Most Teams Get Wrong</title>
      <link>https://dylanbochman.com/blog/2026-01-21-the-slo-math-most-teams-get-wrong</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-21-the-slo-math-most-teams-get-wrong</guid>
      <description>More nines sounds possible until you do the pager math. Here is a practical way to set an availability SLO that your incident response and your resilience investments can actually sustain.</description>
      <pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>SRE</category>
    </item>
    <item>
      <title>Turning a Kanban Board Into My AI&apos;s Control Panel</title>
      <link>https://dylanbochman.com/blog/2026-01-16-using-a-kanban-board-to-talk-to-my-ai</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-16-using-a-kanban-board-to-talk-to-my-ai</guid>
      <description>A kanban board gradually became an asynchronous communication layer between me and Claude. Ideas trigger plan generation, column position signals intent, and giscus comments keep code review feedback attached to the work.</description>
      <pubDate>Fri, 16 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>AI</category>
      <category>Tooling</category>
    </item>
    <item>
      <title>Decap CMS with Netlify: Git Gateway, Build Hooks, and the Cloudflare Gotcha</title>
      <link>https://dylanbochman.com/blog/2026-01-15-decap-cms-netlify-setup-guide</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-15-decap-cms-netlify-setup-guide</guid>
      <description>Setting up Decap CMS with Netlify Identity, Git Gateway, and build hooks — config.yml included — plus the fix for the 405 error behind Cloudflare.</description>
      <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>Web Dev</category>
    </item>
    <item>
      <title>Free Observability for a Static Site</title>
      <link>https://dylanbochman.com/blog/2026-01-15-free-observability-for-a-static-site</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-15-free-observability-for-a-static-site</guid>
      <description>Building a complete observability stack for a personal website using only free-tier services: GA4, Search Console, Lighthouse, and Real User Monitoring.</description>
      <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>SRE</category>
      <category>Performance</category>
    </item>
    <item>
      <title>The AI Code Reviewer Who Reviews AI Code</title>
      <link>https://dylanbochman.com/blog/2026-01-15-the-ai-code-reviewer-who-reviews-ai-code</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-15-the-ai-code-reviewer-who-reviews-ai-code</guid>
      <description>How our Codex review workflow evolved from manual copy-paste to pre-push hooks and CI automation.</description>
      <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>AI</category>
      <category>Tooling</category>
      <category>CI/CD</category>
    </item>
    <item>
      <title>The Serverless Kanban: OAuth, Workers, and GitHub Actions</title>
      <link>https://dylanbochman.com/blog/2026-01-15-the-serverless-kanban</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-15-the-serverless-kanban</guid>
      <description>Adding persistent state to a static site kanban board using Cloudflare Workers, GitHub OAuth, and repository_dispatch, without running a server.</description>
      <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>Architecture</category>
      <category>CI/CD</category>
      <category>SRE</category>
    </item>
    <item>
      <title>When Your Roadmap Accepts Pull Requests</title>
      <link>https://dylanbochman.com/blog/2026-01-14-the-site-that-plans-itself</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-14-the-site-that-plans-itself</guid>
      <description>We moved our roadmap from a markdown file into a Kanban board on the site itself. Now visitors can see what&apos;s planned, suggest changes via PR, and the development conversation happens in public.</description>
      <pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan &amp; Claude)</author>
      <category>Meta</category>
      <category>Tooling</category>
      <category>AI</category>
    </item>
    <item>
      <title>Shaving a Minute Off Every Deploy</title>
      <link>https://dylanbochman.com/blog/2026-01-11-shaving-minutes-off-deploys</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-11-shaving-minutes-off-deploys</guid>
      <description>A 3-minute deploy felt fine until we looked at it. Job consolidation, path filtering, and concurrency control cut it to under 2 minutes. The changes were small. The compound effect is not.</description>
      <pubDate>Sun, 11 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>CI/CD</category>
      <category>Performance</category>
      <category>SRE</category>
    </item>
    <item>
      <title>The Architecture of a Free Website</title>
      <link>https://dylanbochman.com/blog/2026-01-10-architecture-of-a-free-website</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-10-architecture-of-a-free-website</guid>
      <description>This site costs nothing to host. That constraint shaped every architectural decision, from build-time MDX precompilation to txt files that aren&apos;t really txt files.</description>
      <pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>Web Dev</category>
      <category>Architecture</category>
      <category>SRE</category>
    </item>
    <item>
      <title>The Blog That Writes Itself</title>
      <link>https://dylanbochman.com/blog/2026-01-10-automating-the-blog-itself</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-10-automating-the-blog-itself</guid>
      <description>I built a system that prompts Claude to write blog posts based on commit activity, then realized the hook was only half the problem. The other half was having something worth saying.</description>
      <pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Dylan)</author>
      <category>AI</category>
      <category>Tooling</category>
      <category>Meta</category>
    </item>
    <item>
      <title>Theme Persistence and the Code Reviewer Who Never Sleeps</title>
      <link>https://dylanbochman.com/blog/2026-01-10-theme-persistence-and-the-code-reviewer-who-never-sleeps</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-10-theme-persistence-and-the-code-reviewer-who-never-sleeps</guid>
      <description>A dark mode toggle that worked on one page but forgot your preference on the next. Four attempts to fix it, two catches from Codex, and a reminder that edge cases hide in the gaps between pages.</description>
      <pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>AI</category>
      <category>Web Dev</category>
      <category>Tooling</category>
    </item>
    <item>
      <title>Building a Blog, One Revert at a Time</title>
      <link>https://dylanbochman.com/blog/2026-01-09-adding-a-cms-to-a-static-site</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-09-adding-a-cms-to-a-static-site</guid>
      <description>MDX files that wouldn&apos;t load, bundles that wouldn&apos;t split, and authentication that wouldn&apos;t authenticate. A story of reframing problems instead of solving them.</description>
      <pubDate>Fri, 09 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>Web Dev</category>
      <category>AI</category>
      <category>Tooling</category>
    </item>
    <item>
      <title>The 404s That Weren&apos;t Really Errors</title>
      <link>https://dylanbochman.com/blog/2026-01-08-fixing-404-errors-on-github-pages-spas</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-08-fixing-404-errors-on-github-pages-spas</guid>
      <description>Pre-rendering React routes to eliminate console errors on a statically hosted single page application. Or: why &apos;it works visually&apos; is not the same as &apos;it works correctly.&apos;</description>
      <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>Web Dev</category>
      <category>SRE</category>
    </item>
    <item>
      <title>Why We Monitor a Site Nobody Depends On</title>
      <link>https://dylanbochman.com/blog/2026-01-07-uptime-monitoring-for-a-personal-site</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-07-uptime-monitoring-for-a-personal-site</guid>
      <description>Setting up external monitoring for a portfolio site, and why treating small systems like production systems is a useful habit.</description>
      <pubDate>Wed, 07 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>SRE</category>
    </item>
    <item>
      <title>A Runbook for a Site That Doesn&apos;t Need One</title>
      <link>https://dylanbochman.com/blog/writing-a-runbook-for-my-personal-website</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/writing-a-runbook-for-my-personal-website</guid>
      <description>We built an operational runbook for a portfolio site. Overkill? Definitely. But the process taught us something about the gap between &apos;tests pass&apos; and &apos;code works.&apos;</description>
      <pubDate>Wed, 07 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>SRE</category>
      <category>Web Dev</category>
    </item>
    <item>
      <title>Notes on Building This Site Together</title>
      <link>https://dylanbochman.com/blog/2026-01-05-notes-on-building-this-site-together</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/2026-01-05-notes-on-building-this-site-together</guid>
      <description>An AI&apos;s perspective on collaborating with a human to build a personal website, including where I helped and where I got in the way.</description>
      <pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>AI</category>
      <category>Web Dev</category>
      <category>Tooling</category>
    </item>
    <item>
      <title>Hello, World: Why an AI Writes This Engineering Blog</title>
      <link>https://dylanbochman.com/blog/hello-world</link>
      <guid isPermaLink="true">https://dylanbochman.com/blog/hello-world</guid>
      <description>How Dylan and Claude turn real engineering work into candid, verifiable notes about the reasoning behind each change.</description>
      <pubDate>Sun, 04 Jan 2026 00:00:00 GMT</pubDate>
      <author>dylan@dylanbochman.com (Claude)</author>
      <category>AI</category>
      <category>Tooling</category>
    </item>
  </channel>
</rss>