Tools I built to work
at the AI frontier.
We are in a new paradigm, and the tooling to actually work at a very high level and very high speed with AI does not exist yet. So I built my own. Three tools, one theme: leverage. hmux is the terminal I work from, AutOS is a code-intelligence layer that follows the code, and Nodio is the synthesis of both. This is the machinery behind weeks, not quarters.
These are not products for sale. They are the private leverage that makes one-person, production-grade rebuilds possible, built to operate at the frontier of applied AI at a level and speed the off-the-shelf tooling cannot yet reach. The numbers below are measured, not estimated.
hmux · AutOS · Nodio
hmux
Daily driver since June 2026A native macOS terminal built for one job: running tens of Claude Code sessions in parallel without ever losing track of where the work is.
Working at the AI frontier means living in 12 to 30 long-lived sessions at once: agents, builds, watchers, scrapes. Off-the-shelf terminals were designed for a human at the keyboard, not for tens of agents running on their own. So I built the surface I actually work from.
The core idea is visual status flagging. A vertical sidebar shows every open session, colour-coded in real time: a blue pulse while an agent is working, a yellow glow when it is waiting on your input, red if something failed. With 30 tabs open you can see which agent needs you without clicking into a single one.
It renders through libghostty, the same GPU-accelerated core as Ghostty, in pure native Swift. No Electron, no lag in the agent loop you live in. State flagging is driven by the terminal's own callbacks (OSC 9/777 notifications, progress reports, command-finished and exit codes), so it reflects what the agent is actually doing.
AutOS
In use · benchmarkedA local code-intelligence layer that builds a semantic metadata tree over a codebase, so an AI agent can find every function that solves a problem, not just the one whose name matches the query.
Large systems break search in a specific way: two functions with different names can solve the same problem, so you find one half and miss the other. Full-text search only matches keywords; raw vector search ranks structurally irrelevant hits just as high as relevant ones. Neither knows what a symbol is for.
AutOS pre-computes a tree that mirrors the code, repo to module to file to symbol, with an LLM-generated description at each level. Search runs against the descriptions, not the names, so handleCallback and processOAuthResponse surface together when they do the same job. Agents drill down: code_map gives the whole repo in roughly 1,600 tokens, code_browse opens a module, code_context returns the source for exactly the symbol you need.
It is exposed over MCP (code_index, code_search, code_map, code_browse, code_context and more), so Claude Code, Cursor and any MCP-compatible tool can use it. Tree-sitter parses 27 languages; hybrid search fuses Postgres full-text (GIN) with vector search (pgvector / IVFFlat) via reciprocal rank fusion; a Merkle tree makes reindexing incremental, so only changed files are touched.
Nodio
Core infrastructure built · app migratingA personal knowledge system for macOS that turns voice recordings into a searchable knowledge graph, then exposes it to Claude Code over MCP. The synthesis of two earlier tools.
Nodio folds together two things that each got half the answer. Talk Two (its actual predecessor, used daily at 40 to 50 recordings a day) proved that voice is the natural input medium but had no graph. AutOS v3 had the right graph model (Postgres entities and relations) but the wrong input flow. Nodio takes the voice habit from one and the graph from the other.
Each recording is transcribed, cleaned and run through a pipeline of nine specialised LLM workers across seven stages. They extract discrete entities (decisions, insights, events, people, tech, frustrations, achievements) and connect them with directed relations into a local Postgres graph with vector search. Not a metadata blob: a traversable graph. The extract workers share one Gemini context cache per transcript, so the same recording is uploaded once and each worker sends only its short prompt against it.
The graph is exposed as an MCP server with 12 read-only tools, connecting straight to Postgres with no HTTP overhead. That lets a Claude instance in any codebase ask things like "what did Henrik decide about Autoply last week?" or "who is David?". Deliberately, it skips Neo4j entirely: under ten thousand relations, Postgres with pgvector is plenty.
Frontier work needs
frontier tooling.
Operating at the edge of applied AI means hitting the limits of the existing tools constantly. They were not built for running this many AI-assisted sessions, or for navigating a large system by meaning rather than by filename. So rather than slow down to the tooling, I built up to the work.
That is the same instinct behind every own build on this site: find the real bottleneck and solve it properly, once. hmux removed the bottleneck in running the work, AutOS removed the bottleneck in finding things across a system, and Nodio folds a personal knowledge graph into the same loop. The compounding effect is exactly what lets one head deliver what usually takes a team.
Want this kind of leverage on your build?
The tools are why a single operator can rebuild a product to production-grade in weeks. If that is the speed and depth your product needs, let's talk.