I tried to build my own AI-native business OS. Here's why I scrapped it.
A 20-agent Electron app that didn't ship. The decision to throw it away. What I'd tell anyone tempted to build the same thing.
For about three months in early 2026 I was building a custom Electron app called TruPath OS. It was supposed to be the operating system for the holding company — a local-first, AI-native business OS, React 19 frontend, SQLite backend, OpenRouter for model calls, with a 20-agent build team scoped to ship it.
It didn't ship. In late March I made the call to kill it and use Obsidian and Claude Code instead. That decision is the highest-leverage call I've made on this portfolio. This is the postmortem.
What I was trying to build
The vision was reasonable on paper. I wanted one place where all business knowledge lived as queryable data, AI agents had structured access through a typed schema, and a custom UI gave me a "command center" view of every venture.
The architecture I drew up: Electron shell, React 19 frontend, an 8-table SQLite schema, OpenRouter integration so I could swap models cheaply, a custom IPC bridge between the UI and the AI layer, a 20-agent build team scoped to deliver in phases.
I was three months in when I realized I was building infrastructure instead of running a business.
What broke
Failure 1: I was building the tool I needed to use to do the work. Every hour spent on TruPath OS was an hour not spent on Mile High Golf, Quantum Caddy, or Parley. The tool was supposed to give me leverage on the work; instead, the tool was the work.
Failure 2: The 20-agent build team was a coordination problem I created for myself. The agents generated 20 streams of partially-correct code I had to integrate. I was the bottleneck the agents were supposed to remove.
Failure 3: I was reinventing infrastructure that already existed. Markdown notes? Obsidian. Queries over structured data? Dataview. Kanban? Multiple plugins. Local-first? Markdown files on disk are about as local-first as it gets. I wasn't building a moat. I was rebuilding a commons.
The decision
On March 29 I sat down and wrote a SWOT comparing the two paths. The bottom line was one number: 80% of the TruPath OS vision was achievable at 5% of the build effort by switching to Obsidian + Claude Code.
I killed the project that afternoon. The 20-agent team was disbanded. The Electron repo got archived. The next morning I started laying out the Obsidian vault structure and writing the first agent files for the new system.
The rule I adopted
Use existing tools until you can articulate, in one sentence, what they cost you that justifies a custom build. If you can't write that sentence, you're not allowed to build.
For TruPath OS, the sentence I told myself was "Obsidian doesn't give me a real database." The sentence was true. But I never asked the follow-up: "Does my actual workload need a real database?" The answer was no.
What this freed up
Apex routing model exists because I had time to design it. The Quantum Caddy CV pipeline got a real test rig built because I had the hours. The Mile High Golf SBA package is on schedule because I'm not splitting attention with a frontend rewrite. TruPath Labs exists — this publication exists — because I'm not building infrastructure I never needed.
That's the postmortem.
— Michael, from the lab