2026
  1. Running Apple StoreKit 2 Subscriptions on Cloudflare Workers and D1 Without Paying a Revenue Cut

    I open sourced a drop-in server-side StoreKit 2 backend for Cloudflare Workers and D1. Apple JWS verification, entitlement resolution, and App Store Server Notifications V2, without handing a percentage of subscription revenue to a third-party SaaS.

  2. Every AI Session Starts With Amnesia, and I'm the One Carrying the Context

    AI tools are getting better, but project context still gets reconstructed inside every new session. The missing layer is durable, reproducible project context shared across tools.

  3. AI Switcher Desktop Alpha: A GUI for Switching Claude Code, Codex CLI, Antigravity, and Gemini CLI Accounts

    AI Switcher Desktop is the first alpha of the GUI companion to `aisw`, making local multi-account switching easier for Claude Code, Codex CLI, Antigravity, and Gemini CLI across work, personal, and client setups.

  4. How to Switch Between Multiple Claude Code, Codex CLI, and Gemini CLI Accounts Without the Credential Mess

    AI Switcher (`aisw`) is a local CLI for switching between multiple Claude Code, Codex CLI, and Gemini CLI accounts with named profiles, reusable contexts, safer credential handling, and one status command.

  5. Project `aisw` : Switching Between Multiple Accounts in Claude Code, Codex CLI, and Gemini CLI

    None of the major AI coding CLIs support multiple accounts natively. I built aisw, a lightweight CLI tool to manage and switch between credential profiles across Claude Code, Codex CLI, and Gemini CLI with a single command.

  6. Code Is Cheap. Guarantees Aren’t

    If models write more of the code and humans increasingly review, constrain, and verify it, then popularity in the human-coded era is not the same thing as fitness for the next one. The harder problem is no longer just producing code. It is building stacks that can survive cheap generation without collapsing under ambiguity, review burden, and correctness debt.

  7. The Pull Request is Dead: Surviving the AI Code Avalanche

    Code production is no longer our bottleneck. The newfound velocity of AI coding agents hasn't solved our problems; it has simply moved the bottleneck further down the pipeline, creating massive SDLC backpressure. The human "Looks Good To Me" on a PR is now the single biggest liability in deployment. It’s time to stop acting like typists and start acting like architects.

  8. AI Made Coding Cheap. Coordination Is Still Expensive

    AI dramatically accelerated individual coding and local execution. End-to-end delivery barely moved. We optimized leaf-node execution but left the tree structure completely manual. Business intent (“add fraud detection”) decomposes into tasks across teams, each carrying implicit assumptions that only conflict during integration. Performance budgets, data freshness requirements, and retry semantics remain undiscovered until week 8 of 10. AI can breeze through well-defined tasks with deterministic verification. But getting from business requirement to that well-defined task? That’s where projects die.

2025
  1. The Terraform Bootstrap Problem: How to Create Your State Backend Without Going Insane

    The first real test of your infrastructure-as-code understanding: creating the Terraform state backend when it doesn't exist yet. My personal reference for handling the bootstrap problem across different scenarios. Covers production failure patterns, the bootstrap module approach that survives audits, migrating existing infrastructure, S3-compatible backend quirks, and a complete checklist. ~15 minutes read that might save you days of recovery work.