All Articles
One month of weekly AppLovin MAX A/B test reviews with Claude in Chrome
Waterfall A versus B—how do you compare them every week without burning out? Here are my notes from running AppLovin MAX A/B tests across four indie apps with Claude in Chrome handling the weekly roll-up.
Ten Mornings of Letting Claude in Chrome Walk My Search Console Rounds
For ten days I handed a slice of my morning Google Search Console rounds across six properties to Claude in Chrome. Here is what changed in my mornings, written from the perspective of an indie developer running 50M+ download wallpaper apps.
Archiving Claude API Responses to Cloudflare R2: An Implementation Memo for Audit, Replay, and Incident Analysis
An implementation memo on persisting Claude API requests and responses into Cloudflare R2 so you can audit, replay, and triage production incidents — covering Workers waitUntil patterns, PII masking, and a D1 metadata index for fast lookups.
Automating iOS Crashlytics Triage with Claude Code — A Production Pipeline from dSYM Symbolication to Draft PR
How I rebuilt iOS crash triage at our 50M+ download app studio: Firebase Crashlytics issues flow into a Cloud Functions + Claude Code pipeline that handles dSYM symbolication, blast-radius estimation, and a draft fix PR in under 90 seconds. Real numbers, real code, real lessons.
Retiring Dormant SDKs with Claude Code — A 12-Year Indie Developer's Pipeline for Safely Auditing Inactive Dependencies
Twelve years of indie iOS/Android development leaves a quiet sediment of SDKs that nobody calls anymore — but the dependencies remain. Here is the Claude Code pipeline I built to audit and safely retire them across four wallpaper apps, with the actual code and four weeks of operational metrics.
A Daily Revenue Pipeline for 4 Wallpaper Apps: 8 Weeks Running App Store Connect API + AdMob With Claude Code
An 8-week record of running App Store Connect API and AdMob Reporting API through a Python pipeline for 4 iOS wallpaper apps, with Claude Code helping absorb JWT auth quirks, gzip TSV edge cases, timezone misalignment, and Slack alerting thresholds — written from an indie developer's perspective.
Absorbing the Claude API "Tool Result Submitted" Error in a Retry Layer: A Small Conversation-History Repair
How I absorbed the Claude API "Tool result could not be submitted because the previous turn was not a tool use" error inside a small retry layer, with the diagnosis order I followed after it hit a production batch.
When pip install Stops with externally-managed-environment in Cowork's Bash Sandbox — Three Patterns for PEP 668
Why pip install fails with externally-managed-environment in Cowork's Bash sandbox, and three practical fixes — --break-system-packages, venv, and pipx — written from real scheduled-task experience.
Notes from May 2026: Running a Parallel StoreKit 2 Migration Across Four iOS Wallpaper Apps with Claude Code
Operational notes from running a four-app iOS StoreKit 2 migration in parallel with Claude Code on a single Mac mini M5, captured during May 2026.
Skill, Subagents, and Rules in Claude Code: A One-Hour Implementation Loop That Fits a Solo Operator
Misaki Ito at SonicGarden wrote about wiring Claude Code's Skill, Subagents, and Rules to close a week's worth of low-priority work in one meeting. Here is how I adapted that pattern as a solo developer running a 50M-download app business.
Reading Claude Design and Figma Make Side by Side: What Survives When 'Pixels' Stop Being the Work
I have been feeding the same design system and PRD into Claude Design and Figma Make on screens from my own app business. Here is how the two outputs differ in character, and where the designer's job actually moves when generation costs go to zero.
Absorbing Claude API 529 Overloaded in Production — Resilience Patterns from a 50M-Download Indie Studio
529 Overloaded won't go away with a naive exponential backoff. Drawing on lessons from 50 million app downloads, this piece walks through queue-based absorption, model-aware fallback, and circuit-breaker design with working code.