Inventor💡 Founder 👨🏻‍💻 Creator 👨‍🎤 Writer ✍🏻 Lifeform 👽 Co-founder/CTO @shopsavvy and a bunch of other cool things.

San Francisco, CA
Joined March 2007
made a little prompt configurator for the Apple pickup trick: pick your size, color and city, copy the prompt, paste it to your agent, get pinged the second an iPhone Duo is ready at a store near you
1
1
165
added live progress to Taskhold. my agents break a task into steps and report as they go, and I get a progress bar per task with which agent is on it, how long it's been running and about how long is left
2
2
255
Multimeter on a light menu bar. CPU on a little needle gauge, network as a sparkline, an LCD focus timer, memory, and my battery as a row of hearts Every face draws itself for light or dark, so it fits right in either way
1
245
Made a Mac app that puts live meters for anything in your menu bar. Battery, CPU, watts, fan speed, timers, even your own numbers 13 faces to pick from, including a needle gauge, an LCD readout, a row of pixel hearts and a laser sword
6
4
365
Meters turn yellow, then red when they cross the levels you set, and five live meters use about 3% CPU. Super stoked with how light it ended up $19.99 once, no subscription
1
114
I wanted to know which posts people read, who links here and how often the ChatGPT and Claude crawlers stop by, without a single cookie or anyone else's script nginx logs + one tiny beacon + a daily rollup covers all of it
1
1
253
every Mac app I make now ships two ways from one codebase: Developer ID + Sparkle on my own site, and sandboxed on the Mac App Store two XcodeGen targets, one compile flag, two entitlements files. and HomeKit is App Store only on macOS, which surprised me
4
8
1,320
made my blog readable by AI agents. every post has a .md version, asking for text/markdown on the normal URL gets you markdown, and there's an llms.txt mostly a few files and a few lines of nginx
1
292
finally moved my old blog off the Linode it's lived on since 2012. Ubuntu 10.04, Postgres 8.4, and an HTTPS cert that expired in 2016 without me noticing it's a ~300 line Bun static site now, and all 358 old URLs still work
3
3
297