Journal
Posts and long-form series on AI, startups, venture capital, and more.
All Posts
Automating App Store Connect with Fastlane (and Letting Agents Drive)
How I use fastlane to manage App Store Connect metadata, pricing, and subscriptions across my apps, and why it's safe enough to let Claude Code run it.
idea.log Comes to macOS
idea.log, the terminal-inspired idea tracker, is now available on macOS with CloudKit sync, a native sidebar layout, and the same dark minimal UI.
Into the C: Making PyGeoHash Decode Twice as Fast
Last time I optimized the Python wrapper around PyGeoHash. This time I went into the C extension and found it was building objects it immediately threw away.
Evergreen Skills - Teaching Claude to Manage Your Relationships
I built 18 Claude Code skills that turn Evergreen into an AI-powered relationship management system. Now they're on the skills marketplace.
Evergreen Comes to iPhone and iPad
Evergreen, my local-first personal CRM, is now on iPhone and iPad, with optional iCloud sync to keep contacts current across all your devices.
Optimizing PyGeoHash Without Touching the C
A few days after benchmarking PyGeoHash against the field, I closed most of the gap to the C++ library without writing any C. Here is how.
Managing Context at Organization Scale
Why organizations need a defined hierarchy for AI context, and how to manage it without it falling apart.
Yakitori Negima: Chicken, Scallions, and a Pot of Tare
My first run at chicken and scallion yakitori (negima) on a new konro grill, including a simple homemade tare you can keep building on forever.
Benchmarking PyGeoHash: Where It Lands Against the Field
I benchmarked PyGeoHash against six Python geohash libraries with pytest-benchmark. It trails the Rust and C++ options and beats pure Python by a mile.
The OODA Loop for Startup Engineering
Boyd's OODA loop applied to startup engineering teams. How to make faster, better decisions when the landscape changes every week.