Blog
I share my thoughts through occasional writing, covering topics that intersect technology, leadership, and the ever-evolving landscape of software engineering.
- 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.
- 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.
- 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.
- 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.
- 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.
- Mastering Multi-Environment Terraform: Strategies from the Trenches
Every infrastructure project starts with the same question: workspaces or folders? One repo or many? I've structured Terraform for multiple environments six different ways. Watched a senior engineer scale prod down to dev instance counts because workspace selection is invisible. Seen AWS bills spike 40% because someone copy-pasted the wrong tfvars. Here's what actually works for teams under 25 engineers, and the specific disasters that taught me why.
- The Death of the Mobile Developer: AI Is Quietly Eating the App Store
Mobile apps ruled the last decade, but AI is quietly dismantling the foundations they were built on. From declining iOS and Android job postings to LLM interfaces replacing entire app flows, this piece argues the golden age of mobile development is over and what comes next might not even run on iOS or Android.