I build small, composable tools instead of one big platform: CLIs, agents, and infrastructure that do one job well and stay debuggable when they fail.
Most of what I ship touches AI in some way, but the AI is a component, not the point: it drafts, suggests, and automates, while every consequential action still passes through an explicit approval step.
I run everything self-hosted where I can (Podman, systemd) because I'd rather own my failure modes than rent them.
The goal is not to make AI appear autonomous.
- doctrine — engineering discipline (OWASP, ITIL, IETF RFCs, ISO, SBAR) shipped as a Claude Code plugin and MCP server
- shodan-mcp — MCP server for scanning your own infrastructure and searching Shodan's internet-wide data
- browtrace — Rust + eBPF CLI that observes outbound TCP connections opened by browser processes on Linux



