Skip to the lab
Harvey Zheng

Prototypes + experiments

Harvey's Lab

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

Web Effects Pack

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.

TypeScript/WebGL/SVG filters/CSS blend modesDemo ↗

Also in the lab

the rest, newest first

Plover

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.

Python/FastAPI/ReactDemo ↗

unit-of-trust

An interactive essay about reviewing AI decisions, drawing on my recommender, agent-log viewer and small language model. Still a draft.

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 ↗