A working surface for the side of my practice that doesn't fit a case study — small things I've shipped, plugins I built to scratch my own itch, and AI experiments I run to keep my tooling sharp.
Multi-page webpack build with a Three.js / GLSL particle hero on the homepage. SCSS, vanilla JS, no framework. The hero is a port of Codrops' Interactive Particles, modified and integrated into a custom site shell. The point is the site itself is the proof: I built and ship the thing you're reading.
Designers were typing FontAwesome class names into text layers because we hadn't packaged 1,500+ icons as Figma components yet — manual creation was a non-starter. I wrote a Figma plugin that pulled the FontAwesome catalogue and auto-generated every icon as a component with size and style variants. One afternoon of plugin code replaced months of manual work.
An MCP server that lets Claude Code, Claude Desktop, and any MCP-aware client talk to a self-hosted Rocket.Chat instance. Six tools over stdio — five read (list unread, list rooms, room history, search messages, get user) and one write (post message). Auth via Personal Access Token, configured per-instance through env vars so it works against any Rocket.Chat server, not a hard-coded one. Built it because I wanted Claude to read and triage chat the same way it reads code.
A small, shippable AI project I'm building in the open as part of the rebrand. I'll write it up here when it's live — code, prompts, evals, and the design decisions behind it.