I build tools that show what coding agents actually did, not what they said they did.
Senior software engineer at Agentic Private Markets, where I build AI products end to end: voice and text interview agents over WebSocket, streaming agent chat, Model Context Protocol (MCP) tools, LLM cost reporting, and the React component library that renders model output. Before that, six years on TypeScript, React and Node.js products: a crypto derivatives exchange, a salary-data startup and India's largest e-commerce site. Since 2026 most of my code is written with coding agents, and most of my open-source work is about keeping them honest.
| Project | What it does | Status |
|---|---|---|
| watchkeeper | A read-only viewer for the work of coding agents in every git worktree on your machine. It never writes to a repository, and a test proves it. | Usable from a clone. npm release next. |
| janus | A delivery workflow for Claude Code: approval gates, proof-of-done, and a live view of the agents at work. | Retired. The lessons went into bosun and watchkeeper. |
| bosun | My agent-fleet setup on top of firstmate: account-aware launcher, quota-based account picker, anti-polling hooks. | In daily use. |
| claude-kit | Shared skills and plugins for Claude Code, linked into every account and config directory by one bootstrap. | In daily use. |
- A claim from an agent is not evidence. A screenshot, a recording, or a test named after the property it measures is.
- Rules go to the agent, not to the person. Every lesson I learn becomes a line in an
AGENTS.md. - I write in plain English, one instruction per sentence. The style is ASD-STE100 Simplified Technical English.




