Web Effects Pack
Fifteen film and print effects for web pages, including film burns, crumpled paper and neon. Built with CSS, SVG, Canvas and WebGL.
Prototypes + experiments
Personal tools and experiments, from running apps and language tutoring to film effects for the browser. This is where I keep those projects as I build and use them.
I build with AI tools, mostly Claude Code. The write-ups cover what I changed and what still needs work, including Plover's backtests and automated checks for its training calculations.
● Fresh
Fifteen film and print effects for web pages, including film burns, crumpled paper and neon. Built with CSS, SVG, Canvas and WebGL.
the rest, newest first

I turned a notebook for my Coros watch data into a running app with Claude Code. Deployed in private beta and tested only with my own data.
An interactive essay about reviewing AI decisions, drawing on my recommender, agent-log viewer and small language model. Still a draft.
Fully local voice tutor for Mandarin and French — speak, it listens, replies, and talks back. Nothing leaves the machine.
Decision-legibility surface for autonomous coding agents (live cockpit + retrospective blame).
Twelve recommendation-system designs benchmarked head-to-head on the same dataset and ground-truth queries.
A living catalog of AI UX patterns — agent orchestration, tool-call visualization, adaptive cards and UI.
All-local, encrypted, voice-first journaling for iOS and macOS from a single SwiftUI codebase.
Self-guided iOS exposure-therapy app, built around experiments rather than sessions. A working prototype I've tested on myself.
CLI for using Claude Code to brainstorm and track job applications.

Browser-based running utilities — pace converter, heart rate zones, race predictor. Everything runs client-side.