Work
87 projects since 2023. The 8 selected below are the ones I'd show you first. The archive under them has the rest, each with its own page.
Selected
8 projects
Security Readiness Platform
A security-readiness assessment that organizations take and assessors score, live in production on Dynamics 365 with a Next.js front end. I am its only developer.
Cybersecurity nonprofit, director of software engineering, 2025-26. In production, Dynamics 365
- stack
- Craft CMS, PHP, Twig, Composer
- status
- In production
Craft CMS at Rocket Park
I lead development on Rocket Vitals, the agency’s website QA scanner, and keep eleven client sites on Craft CMS upgraded and running.
Rocket Park, Craft CMS agency, 2025-26. In production, 11 client sites

TimeSlipSearch
Type a date and get what was playing, showing, and costing that week, pulled from 420,000 records. It won the Algolia Agent Studio Challenge.
Personal, 2026. Live, Algolia winner
- stack
- CLI, npm, MCP, Node.js
- status
- Published
Specter
A CLI that reads an unfamiliar codebase and talks you through it: structure, dead code, risky files. Published on npm, with an MCP server for Claude.
Personal, 2025. Published, npm

Trace
Drop in a screenshot and get React code that only uses real shadcn/ui components, so it compiles. It won the DEV GitHub Finish-Up-A-Thon.
Personal, 2026. Live, DEV winner

AutomaDocs
Connect a GitHub repo and AutomaDocs writes its documentation, then rebuilds it on every push. Live, with Stripe checkout.
Personal, 2024-26. Live, automadocs.com
- stack
- TypeScript, Bun, CLI, Developer Tools
- status
- Daily use
hq
The command-line tool I start every day with. One command tells me what is broken, blocked, or waiting across about 90 repos and the services they run on.
Personal, 2026. Daily use, Daily driver

HireReady
Practice interviews out loud with an AI interviewer, then review the questions you missed on a spaced-repetition schedule.
Personal, 2026. Live, imhireready.com
Archive
8 of 87 shown
| Project | Year | What it is | Category |
|---|---|---|---|
| Security Readiness PlatformCybersecurity nonprofit (confidential) | 2025-26 | A security-readiness assessment in production for a cybersecurity nonprofit (client confidential). It runs on Dynamics 365, Power Platform and Dataverse, with a Next.js front end. I built it in 12 implementation phases and I am the sole developer. | Enterprise |
| Lead-Gen & Ops PlatformCybersecurity nonprofit (confidential) | 2025-26 | A lead-generation and operations site I built for the same cybersecurity nonprofit (client confidential). Next.js 16, React 19, Drizzle and Neon Postgres, hosted on Vercel. | Enterprise |
| Chronicle | 2025-26 | A local-first observability tool for AI agents, written in Rust. It records every LLM call and tool use, shows them on a timeline and as a graph, tracks token cost, and includes a caching proxy for OpenAI calls and an MCP server for querying traces. | AI |
| Finance Quest | 2024-26 | A financial literacy course with 18 chapters and more than 30 calculators. SM-2 spaced repetition schedules reviews, and an AI coach answers in context, using Claude with GPT-4o-mini as a fallback. | AI |
| Kindred | 2025-26 | A knowledge workspace with AI built in. Pages are blocks (BlockNote and Tiptap), Yjs CRDTs sync edits between people and work offline, and Supertags add properties to pages. | Full-stack |
| Trace | 2026 | Paste a screenshot and get a React component you can run and edit. Gemini 2.5 Flash recreates the layout from a shadcn-style component catalog, then shows which part of the screenshot became which component, with a confidence tag on each. Won the DEV GitHub Finish-Up-A-Thon. | Dev tools |
| StanceStream | 2024 | A real-time AI policy debate built for the Redis AI Challenge 2025. Agents debate over WebSockets, with Redis JSON, Streams, TimeSeries and Vector behind it, a semantic cache, and a fact-checking step. | AI |
| Carefulship | 2026 | Preview-first website audits. Add a site you track, and it crawls it, lists findings and exports reports. Background crawls run on Inngest, with Supabase for data, Playwright for dynamic checks and Langfuse for tracing the AI parts. Slack, email and Vercel integrations are optional. | Full-stack |