I build agent-native developer tools and local-first product surfaces: custom coding-agent skills, TypeScript/React apps, orchestration UI, tmux-based workflows, and practical engineering systems.
My strongest work sits where product engineering, complex state, and AI agent workflows meet: long-running tasks, approvals, retries, tool calls, session handoff, and the developer experience around all of it.
| Project | Focus |
|---|---|
| custom_skills | Curated coding-agent skills with reproducible install and project deployment workflows |
| custom_agents | Shared agent definitions generated for Claude, Copilot, Codex, and Gemini |
| reviewgraph | LangGraph-powered PR review orchestrator with staged multi-agent reviewers and human-gated GitHub writes |
| routerchat | Local-first open-source chat for OpenRouter with optional self-hosted Convex cloud sync |
| agentchat | Self-hosted multi-runtime agent chat harness with operator-owned state |
| agentscan | Rust CLI and daemon for discovering AI agent panes in tmux |
| tprompt | Go TUI and daemon for prompt selection and tmux delivery |
| warcraft_cli | Agent-friendly World of Warcraft data CLI monorepo across guides, rankings, logs, and simulation workflows |
| webmux | Early browser-first tmux client work for live sessions, handoff, and agent workflow UI |
- Custom coding-agent skills, reusable agent definitions, and project-specific workflows
- routerchat: local-first OpenRouter UX, model choice, and optional Convex sync
- Agent-native product UX in TypeScript, React, Bun, and Convex
- Complex state for long-running agent tasks, retries, approvals, and handoff
- Local-first developer tooling around tmux, CLIs, and multi-agent workflows
- Practical engineering systems that help humans and agents share the same codebase


