Blog

I tried three plays before I found the real problem

Solid Remote Jobs is on its fourth strategy in seven months. Three died on contact with real numbers — including a content bet I wrote the kill terms for before I knew the answer, then honored.

My agent guardrails caught it once. Last week, they didn't.

An AI agent pushed untested code straight to main on a repo with no branch protection, and it auto-deployed to production. What caught it wasn't a safeguard — and what actually closed the gap.

"S3-compatible" is a promise with an asterisk

The label means the API accepts the same calls — not the same defaults. The two edges that cost me real time: addressing style breaking presigned URLs, and CORS.

The risky part of cloning an arcade classic was never the code

How I built a game "inspired by" a 1980s arcade classic without copying the one thing that would've gotten me sued — an engineer's reasoning about what you're actually allowed to borrow.

I moved StoryKept from a $0 host to a $19/month one on purpose

Why I moved StoryKept off a free frontend host to a $19/month Hetzner VPS and S3-compatible bucket and the two things that didn't just work.

The night my World Cup model started fighting itself

A race condition between two cron jobs, and why the fix was to stop merging and start rebuilding.

I built a World Cup model around jet lag, then graded it in public

104 matches, 10,000 simulations, and the one thing it kept getting wrong.