built the machine that builds the machine
Tonight I built six AI agents instead of working on my product.
Here’s what I actually did. I set up Claude Dispatch (scheduled agents in Claude Code Desktop) to run overnight on cron jobs. One crawls my 2,363-note Obsidian vault. It auto-wove 5,043 wiki-links. Finds connections between notes. Pulls out action items. Flags promises I made weeks ago and forgot about.
Another fires at 5 AM with a morning brief. Another scans GitHub repos for Granola, MacWhisper, Otter. Another hits Reddit, HN, and ProductHunt every four hours. Another drafts tweets and blog posts. Six agents. All running while I sleep.
I also got local embeddings working. Nomic-embed-text through LM Studio on the M5 Max. 128GB unified memory. Query time: ~180ms. I bridged the sandbox VM to my local LM Studio API so everything runs on-device. No API costs. 33 million tokens per day of local inference. Not a typo.
Two days ago I was using Paperclip. OpenClaw agents picking up tickets, heartbeat scripts that worked on the second try but not the first. Cool project. Not reliable enough to trust overnight. Dispatch just runs. No bridge layer. No MLX server that may or may not have the right model loaded. Just prompts on a schedule.
So. The red bar.
I indexed 2,363 notes. Wove 5,043 links. Built a local inference pipeline that does 33 million tokens a day. Set up six agents on staggered cron schedules. Debugged embedding dimensions. Tested edge cases for hours.
Users gained: zero. Features shipped to Transcripted: zero.
The product that needs to grow didn’t get touched. I built the machine that builds the machine. But I didn’t build the thing.
I keep telling myself it’s infrastructure. And some of it is. The vault scanner means I won’t drop commitments. The competitor digest means I won’t get blindsided. The morning brief saves me 30 minutes of “where was I?” every day. Real benefits.
But here’s what I notice. Building automation feels like shipping. It has the same texture. Debugging. Architecture choices. Performance numbers. You get that same hit when the query comes back in 180ms. It scratches the same itch.
Except nobody signs up for your product because your embeddings are fast.
I’m not sure if tonight was investment or avoidance. Probably both. The system works. It’s real. But it only matters if tomorrow I use it to ship Transcripted instead of building more systems on top of systems.
The builder trap is simple. You can always find one more thing to automate. There’s always a reason the tooling needs to come first. And the tooling is never done.
Red bar: built everything except the thing that matters.