Projects

Things I've built.

Open-source experiments, reference implementations, and tools I use day-to-day. Each one is a working answer to a question worth answering.

Aletheia

2026Active

A tool for reverse-engineering software — taking a finished program apart to understand how it works — built on one idea: every step of the analysis is a stackable, undoable layer, like git history crossed with Photoshop layers.

  • Treats every step of picking a program apart as a stackable, undoable layer (think Photoshop layers, or git history): hide a layer to see the raw program underneath, branch to test a theory without losing your place, or compare two interpretations side by side
  • Nothing is ever overwritten — so undo is instant, results are remembered and only recomputed when something they depend on changes, and any piece of analysis can be handed to a teammate as something they can independently reproduce
  • Debugs suspicious programs, including malware, with a built-in simulated processor that never actually runs them — so nothing can escape — and live debugging state flows into the same views as the rest of the analysis
  • One shared engine behind many front doors: a desktop app, a command-line tool, a team server, an install-nothing browser playground, and a Python package — with no duplicated logic between them
  • Understands several processor families (the Intel/AMD chips in laptops, the ARM chips in phones, and RISC-V) and is hardened never to crash on the hostile, malformed files it is built to take apart
  • Rust
  • Vue 3
  • TypeScript
  • WebAssembly
  • Python
  • Rhai

CodePenMCP

2026Active

A Model Context Protocol server that lets AI agents drive the live CodePen editor through a Chrome extension bridge — no browser automation required.

  • Mirror mode bundles multiple local files into a single pen, sidestepping CodePen free accounts' 3-file-per-pen limit
  • ~70 MCP tools spanning pen CRUD, file-aware editing, assets, blocks, templates, collaborators, comments, deployment, screenshots, and console capture
  • Purpose-built Chrome MV3 extension operates the editor DOM directly — no Playwright, no headless browser, no remote-control scripting
  • Local folder mirror with one-shot push/pull and continuous watch mode that survives VS Code's atomic save behavior on Windows
  • Works with both classic pens and modern Project Pens, including a page-world round-trip to read and write CodeMirror 6 instances from the isolated content script
  • TypeScript
  • Node.js
  • MCP SDK
  • Chrome MV3
  • SignalR

Vuetify 4 documentation packaged as an installable agent skill for Claude Code, GitHub Copilot, and OpenAI Responses.

  • Generates a 394-page skills corpus from live Vuetify 4 docs, pinned to v4.0.5 for reproducibility
  • Outputs structured markdown with per-page section indexes plus a top-level manifest
  • Multi-target build: Claude Code, GitHub Copilot, and OpenAI Responses skill formats from one source
  • Tracks per-page parse failures so partial regenerations stay observable
  • TypeScript
  • Node
  • Vuetify 4
  • Agent Skills

Catan

2026Active

A 3D Settlers of Catan for the browser, phones and tablets: play at one table with friends, learn against computer opponents with a coach, or play online in real time, with the 5–6 Players, Seafarers and Cities & Knights extensions all in.

  • A living 3D island on a wooden table (pine forests, wheat fields, grazing sheep, clay pits and mountains) that you turn, tilt and zoom with a mouse or your fingers
  • Every way to play: hot-seat on one device, against computer players, a guided tutorial, or online lobbies where everyone plays from their own device; any seat can be handed to the computer mid-game and taken back
  • The full rules, from setup, the robber and development cards to longest road and largest army, plus trading with the bank, harbours and other players, who can accept, decline or counter-offer
  • Seafarers adds ships, new islands, the pirate and gold fields; Cities & Knights adds commodities, city improvements, knights and the barbarian ship; 5–6 Players adds a larger island and a special building phase
  • Made for every screen: the same game on a 27" monitor, a tablet or a phone held either way, with the camera flying over to show other players' moves, and installable to a home screen as a web app