Selected work
-
rescribo
Turns customer feedback in Slack into GitHub issues, then tracks who still needs an answer once the fix ships.
Python / Slack / GitHub App
-
switchyard
A delivery workflow for coding agents: issue, spec, isolated worktree, cross-provider review. Works with Claude Code, Codex and opencode.
OpenSpec / git worktrees / npm
-
surgite
Standup summaries from your git history, in the browser, in the terminal, or as a shareable link.
Python / FastAPI / SvelteKit
-
touchneedle
Checks that the citations in a document are real, accurately described and consistently used.
Python
-
elengtis
A configurable MCP prompt-injection benchmark: YAML scenarios, full trajectories, and effects verified independently of the model.
Python / MCP / LLM evals
Posts
-
Switchyard: A Template for Agent-Assisted Development
How Switchyard gives new projects an issue-to-merge workflow for coding agents, with OpenSpec, worktrees, review gates, and Herdr.
-
My Mac, Declared in Nix
How I run my MacBook from a nix-darwin flake: Homebrew under control, secrets in git, a lint gate on a Linux runner, and the gotchas along the way.
-
Corv: my Hermes agent.
A tour of the AI agent that lives on my homelab: what runs it, what it can reach, and how it stays useful without being babysat.
-
Time Machine over SMB in my homelab
A small Debian LXC, Samba's fruit module, and a bind mount to the USB drive that already holds my homelab data.
About
Studied history, wandered into infosec, now automating IT for financial services. Outside work, I build developer tooling and write up what I learn.
More about me