Writing
Build logs and release stories. Pick a topic to narrow things down, or press / to search.
11 posts
2026
- Rebuilding this site as a notebookThe portfolio used to be a shelf of app cards. Now it's a place to write about the things I ship, and why that change matters more than the new paint.
- xBot: two weeks, 144 commits, and agents that finally get a computerA native Mac app wrapped around a self-hosted agent platform. What got built since September 2nd, and the bugs that only showed up once real agents ran.
- SeaStar: a sea companion for iPhone and Apple WatchSnorkel, freedive and scuba each ask a different question underwater, so each gets a different instrument on the Watch. Plus Liquid Glass that sits in the water.
- Claude Notch: steering Claude Code from the notchThe notch glows while Claude works, turns red when it needs you, and turns every in-session question into a button, so you never switch to a terminal just to say yes.
- skillFight: which of your Claude skills wins?Install enough Claude skills and some start fighting over the same requests. skillFight finds the overlaps and stages the verdict as an ASCII fighting game.
- Cluck Invaders: a space shooter in one HTML fileHoming missiles, spread shots, boss waves and a fireblast special, built with nothing but the Canvas 2D API. You can play it right on this site.
- Wolfence: a fence between your laptop and the remoteA Rust CLI that wraps git push with a security gate, plus a native macOS monitor and a browser console. Secrets, vulnerable patterns and risky config get stopped before they leave.
- Dragon: a file shelf that lives in the notchA free macOS utility that turns the notch (or the menu bar) into a staging area for files, with compress, convert, share, AirDrop, tag and cloud-sync actions a click away.
- IceSniff: one engine, three front doorsA packet analyzer where a shared Rust core powers a native macOS app, a full-screen terminal UI and a local web app, with an AI panel that knows which packet you're looking at.
- Hnefatafl: from first commit to installers overnightViking chess rebuilt in Kotlin and Compose Multiplatform, with shared rules, shared UI, and a tag-driven pipeline that ships DMG, EXE, DEB and APK builds.
- WorkLog: attendance that survives a bad signalA React Native and Expo app for small businesses, with GPS-validated clock-ins, per-worker attendance policies, and punches that queue offline until the network comes back.