Shipped work
StoreXray
Live multi-agent SaaS · sole builder · 2024–present
Paste a Shopify store URL, pay $49, and an orchestrator runs six specialist Claude agents (scrape, UX, speed, funnel, AI visibility, roadmap) that return a 30+ page repair plan. Nobody touches it between payment and delivery.
- Each agent is pinned to the cheapest Claude model that holds quality for its task (Haiku, Sonnet, Opus). About $1.20–1.40 of API cost per audit and roughly a 96% gross margin.
- Schema-validated outputs (Pydantic), retries typed to rate limits, timeouts and 5xx errors, and per-agent fallbacks, so one bad agent never sinks a run.
- A deterministic quality gate holds degraded runs, and an Opus reviewer checks every report against the raw evidence before it ships.
LabelCheck
AI label-verification prototype · take-home for a federal AI role · 2026
Checks alcohol label artwork against the application data the way a compliance agent would: brand, ABV, and the government warning across front and back labels, with results in seconds and batch upload that pairs hundreds of images to their applications. Built for reviewers who aren't technical, so the whole flow is one screen.
MemeReverse
Mobile app on the App Store and Google Play · sole builder
Point it at a meme and it finds the original template: CLIP embeddings in pgvector to match the source image, Google Vision OCR to find the overlaid text, and LaMa inpainting to erase it.
Parity
LLM evaluation research · 2026
One model name on OpenRouter is served by many providers. Parity pins each provider endpoint and runs the same test suite against all of them (exact answers, JSON-schema output, tool calls, long-context retrieval, latency, and billed cost) to see whether they really behave the same.
- Found that Google Vertex endpoints for Claude Sonnet 5 returned HTTP 404 on every JSON-schema request (24 of 24 across three sweeps), reproduced it, and reported it to OpenRouter.
- Every number in the write-up is re-derived from raw run logs, and the write-up was reviewed by a second model three times before sending.
Arktista
Construction AI platform · two-person team
Takes a home remodel from a phone scan or blueprint to a permit-ready packet, with a licensed professional signing off. Constraint-solved floor plans, a permit-plan engine that cites code sections rather than guessing, and production auth and billing.
Currently in development
How I build
Evals before agents
I write the test set and the scorer first, then build until the number moves. I don't trust a result I can't reproduce.
Evidence, not vibes
Findings point to what they're based on. Reviewers check output against the raw input, not against how confident it sounds.
Cost and failure are design inputs
Model routing, budgets, typed retries and fallbacks are in the first version, not bolted on after the bill arrives.
AI tools as a power user
I build with Claude Code and Codex daily, including second-model code reviews on every major change.
Background
Before software I was a union commercial HVAC installer and foreman, working on precision sites including NASA's Jet Propulsion Laboratory and Caltech clean-room labs. That's where I learned to read a spec, run a crew, and finish the job. Since January 2024 I've built AI products full time.