Skip to the lab
Harvey Zheng

Prototypes + experiments

Harvey's Lab

Solo projects I've been building with AI tools — some made in a single sitting, others over a week or two. Mostly Claude Code. I try stuff out and keep iterating on what sticks — little tools I actually use, prototypes still in motion, patterns I'm figuring out as I go.

I set the scope and review what the agents build. Verification depends on the project; Plover uses a byte-exact backtest and CI gates to catch output and copy drift.

● Fresh

Web Effects Pack

Web Effects Pack

Fifteen film and print effects — burns, filmstock grades, crumpled paper, neon, a street light — running as real CSS/SVG/WebGL over live DOM instead of baked into a render.

TypeScript/WebGL/SVG filters/CSS blend modesDemo ↗

Also in the lab

the rest, newest first

Plover

A running-readiness app I took from a Jupyter notebook to a deployed private beta in about twelve days, leaning hard on AI agents. Built multi-user; so far I'm the only one on it.

Python/FastAPI/ReactDemo ↗

unit-of-trust

A scrollytelling essay arguing that agent decision legibility should be a first-class layer of the agent stack, not an afterthought.

Next.js/React/TypeScriptDemo ↗

local tutor

Fully local voice tutor for Mandarin and French — speak, it listens, replies, and talks back. Nothing leaves the machine.

Claude Code/FastAPI/ReactGitHub ↗

observe-ui

Decision-legibility surface for autonomous coding agents (live cockpit + retrospective blame).

TypeScript/JavaScript/PythonGitHub ↗

Recommend Arena

Twelve recommendation-system designs benchmarked head-to-head on the same dataset and ground-truth queries.

Python/ChromaDB/NetworkXGitHub ↗

AI Pattern Testing

A living catalog of AI UX patterns — agent orchestration, tool-call visualization, adaptive cards and UI.

Next.js/TypeScript/Claude CodeDemo ↗

Journ

All-local, encrypted, voice-first journaling for iOS and macOS from a single SwiftUI codebase.

Swift/SwiftUI/SwiftDataGitHub ↗

Anagnori

Self-guided iOS exposure-therapy app, built around experiments rather than sessions. A working prototype I've tested on myself.

SwiftUI/SwiftData/Next.jsDemo ↗

plytools

CLI for using Claude Code to brainstorm and track job applications.

Claude Code/Node.js/TypeScriptGitHub ↗

RunTools

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

Next.js/TypeScript/TailwindDemo ↗