blog

2 min read

Shipping Through the Search

Five months, two loops: a job search you can't poll faster, and a shipping cadence you can. What launched, what held, and what signed.

The search ended. I signed. Between March and August I was interviewing — and between interviews, I shipped more than I have in any five-month stretch of my life.

Those two facts are related, but not the way you’d think.

A job search is a low-frequency process. Applications, loops, references, offers — each cycle takes weeks, and you cannot poll it faster by worrying at it. Most of the advice about searching is really advice about what to do with the dead time between samples, and most of it amounts to: refresh the inbox, rehearse, spiral. I tried a different allocation. The search got its scheduled slots. Everything else went into the high-frequency loop — the one where I control the clock.

Here’s what that loop produced while the other one ground along:

CluTerm grew from a remote terminal into something closer to a distributed computer you open in a browser — the PR counter crossed 800. The agent got rewritten in Rust. An iOS app shipped. Screen sharing moved off the relay onto the media peer connection so input rides encrypted next to the pixels. A security audit turned into my favorite kind of fix: not patching holes, but making whole classes of them unrepresentable.

ChorusReader 2.2 shipped a bookstore inside the app — over a hundred hand-picked public-domain classics, a daily shelf of open-access research with the reason each paper was chosen written next to it, and voice cloning from fifteen seconds of audio, entirely on-device.

DailyTrie launched: a daily word puzzle where a slime-mold root network grows beneath the tree as you solve. The roots only started looking like roots when I bound each simulated agent to a single trie edge. Constraint, again, doing the work that freedom couldn’t.

SHAI kept meeting every two weeks — sessions 008 through 017, no skips — because a community is a cadence, and cadence is the one thing you can protect when everything else is uncertain.

I wrote in March that velocity is a system property, not a personal one. The search stress-tested that claim. Motivation cratered plenty of times — rejection does that — but output barely moved, because output was never running on motivation. It runs on patterns that compress decisions: same project shapes, same commit discipline, same tooling. The system held while the operator wobbled. That’s what a system is for.

And here’s the part I didn’t expect: the two loops converged. Interview loops sample your state — a few hours of performance on a whiteboard-shaped surface. But a commit log is your derivative, five months of direction and slope that nobody can cram for. When the conversations that mattered happened, they weren’t about the résumé. They were about the work that was accumulating in public while I waited for the low-frequency loop to come around.

So the cadence changes now — the projects move to nights and weekends, where honestly some of them always lived. What doesn’t change: the stack stays mine, the tools stay on-device, and the log keeps its slope.

If you’re in the middle of your own search: protect a loop you control. Not as a portfolio strategy — as a coherence strategy. The derivative is the part of you the search can’t touch.