All Articles
Managing iOS Localizable.strings with Claude Code — A Solo Developer's Multilingual Workflow
How a solo developer managing multiple wallpaper apps used Claude Code to streamline iOS localization. From extracting missing keys to quality checks — a realistic workflow for one-person teams.
Combining Haiku 4.5, Streaming, and Prompt Caching to Cut Costs in a Personal App — An Implementation Record
A hands-on record of combining Claude Haiku 4.5, streaming, and prompt caching to improve both cost and response speed in a personal iOS/Android app — including the mistakes made along the way.
Claude Code MCP Server Won't Start — How to Fix "spawn npx ENOENT" and PATH Issues
You configured an MCP server in Claude Code's settings.json, but it never starts — just "spawn npx ENOENT" or "spawn uvx ENOENT" errors. The culprit is a PATH mismatch between your shell and Claude Code's spawning environment. Here's how to diagnose and fix it.
Wiring Claude Code from Crash Reports to a Fix Commit — A Personal Developer's Post-Release Operations Playbook
A working pipeline for personal developers to triage Crashlytics and Sentry reports with Claude Code, drawn from the routine I still run on my own apps every morning.
Catching Template Phrases Before They Ship: grep Guards in Claude Code SKILL.md
Even with detailed prompt instructions, generating articles every day eventually lets template phrases slip through. I added grep-based guards to the final step of my Claude Code SKILL.md so that violations block the push and force the model to rewrite. Here's what changed after one week.
What metadata.user_id in the Claude API Is Actually For — Designing the Abuse-Detection vs. Privacy Trade-off
The metadata.user_id field in the Messages API exists to sharpen abuse detection, but sending raw email addresses creates a privacy problem. Here is the HMAC-based stable pseudo-ID pattern I use, plus a clear set of rules for when to send it and when not to.
When Claude Code's Read Doesn't Reach the End of a File — Catching the PARTIAL view Notice and Sizing offset/limit
When Read returns only part of a large file, Claude Code says so with a PARTIAL view notice. Here is how to catch it, and how to size offset and limit by byte budget rather than line count, with measurements from my own sandbox.
Why Claude Code's Glob and Grep Return Zero Results
When Claude Code's Glob or Grep tool returns no matches even though the files clearly exist, the cause is almost always one of four things. Here's how to triage.
Bulletproof JSON Output with Claude API Prefill: A Four-Layer Defense Pattern from Indie SaaS
How I went from late-night JSON parse failures to a 99.98% parse success rate across thousands of monthly Claude API requests, and what a 1,081-sample truncation benchmark revealed about the repair code I had originally published here.
A Five-Layer Preflight Design for Claude API — How I Cut Hundreds of 400/422/529 Errors to Zero
A production-tested five-layer preflight design that catches Claude API failures before the network call — schema, token budget, model capability, content policy, and spend cap — with full TypeScript implementation and one month of operational numbers.
Designing Claude Code Skills That Actually Run Unattended — Three Patterns to Avoid Permission-Dialog Stalls
I learned the hard way that Claude Code skills can silently freeze in scheduled runs because of permission dialogs. Here are three implementation patterns that keep file work, path detection, and recovery fully autonomous — distilled from a month of running content automation across four sites.
Type-Safe Claude API Tool Calling with Zod: Patterns for TypeScript Developers
How to implement Claude API tool calling with TypeScript and Zod for full type safety. Covers schema-to-API conversion, runtime validation, and three common pitfalls with practical code examples.