Tools I built because I wanted them in my own workflow: terminals, dev
environments, process managers, and CLIs. They are young, useful in
different ways, and shaped by the way I code with agents.
A desktop terminal for running several coding agents without losing the thread.
A native macOS + Linux terminal that keeps Claude Code, Codex, OpenCode, and regular shells organized by project. Built on libghostty-vt, with quick theme/font switching, scriptable launch points, and early native agent integration.
Cross-platform microVM environments with an agent-forward design.
Run coding agents inside microVMs (Firecracker on Linux, Apple Virtualization on macOS) on your laptop or a fleet of servers over Tailscale. Build a standard base environment you can SSH into anywhere, with host-side credential brokering, local mounts, persistent sessions, and plans that can run unattended.
The local process manager I wanted for agent-assisted development.
Start your project's processes with one command, then let you and your coding agent both watch and control them over an API: tail logs, inspect HTTP requests, restart one service. A TUI gives humans real-time logs with search; an optional mkcert-backed proxy puts services on friendly local HTTPS domains, even sharing one port across several projects, so you can stop memorizing ports.
A git TUI for reviewing agent diffs with first-class mouse support.
A git diff and staging viewer with side-by-side diffs, history, first-class mouse support, syntax highlighting, and theming, all in the terminal. It auto-refreshes as files change, so you can watch an agent's edits land in real time and stage deliberately.
Structural answers for JVM codebases, from bytecode instead of grep.
Fast structural lookups for a coding agent working in a JVM codebase: who implements this, who references this type, what this method calls. Answers come from compiled bytecode and the resolved Gradle classpath, not text search.
Sync .env files across your machines, with history and cloud encryption.
A simple, single-user CLI for syncing .env files across your own machines and sheds. Files are versioned with a git-like history and stored age-encrypted in a Google Cloud Storage bucket; status tells you whether to push, pull, or reconcile, and sync runs the safe action without silently overwriting another machine's changes.