Building AI agents that ship.
I write deep technical notes on agent loops, supply-chain risk, and local-first patterns — and I'm shipping BinaryClerk, a desktop AI coworker that pairs with your real browser. For engineers who care where context lives.
latest writing
Notes I keep when something in the stack deserves a careful teardown.
- 6 min
How I Used Cursor & Codex Independently to Rediscover CVE-2026-42945 — The Nginx RCE
One generic security prompt, one vulnerable source file, no fuzzers or static analyzers. Cursor found the nginx bug fast; Codex validated it with a real ASan crash.
- 12 min
Mini Shai-Hulud: TanStack supply-chain worm (May 2026)
Technical deep-dive into the Mini Shai-Hulud worm: GitHub Actions cache poisoning, npm propagation, persistence in Claude Code and VS Code, credential theft, dead-man’s switch, and why AI “vibe coding” widens the attack surface.
- 2 min
Why BinaryClerk
Cloud AI assistants are great until you notice where your data lives and what they can actually touch. Here's what I'm building instead.
current project
BinaryClerk — local-first desktop AI for people who live in the browser.
One app on your machine that chats with capable models, drives your real Chrome through a companion extension, and keeps projects, chats, and files on disk (SQLite) instead of in someone else's cloud.
what it is
Cursor-style depth, but for the browser and your local data.
Own your context.
Conversations, memories, workflows, and usage data stay under your control. Only what you send to a model leaves the device.
Work where work happens.
The agent sees and acts in your tabs — with read-only mode, URL blocklists, approvals, and tool policy. Not a sandboxed copy of the web.
Ship serious automation.
Saved workflows, cron schedules, MCP tool servers, and optional shell tools for power users who opt in explicitly.
how it works
Two halves, one pairing. Everything stays on your machine unless you say otherwise.
- └ AI SDK agent loop
- └ SQLite + Drizzle
- └ MCP tool servers
- └ OS keychain (BYOK)
- └ Read your tabs
- └ Drive real pages
- └ URL blocklist + approvals
- └ Tool-use policy
preview

also shipping
Open-source agents I've built along the way.