Works · Browser AI
AI Experiments
Interactive AI experiments that run locally in the browser. No API keys or server: each one is made to be opened, tested, and reset.
01
Feral
The planet's living activity, scored in real time.
Turning a continuous data stream into something with a tempo. Tone.js · TensorFlow.js · Three.js WebGPU · iNaturalist API · Vite · TypeScript
Open Feral02
Latent Atlas
A museum collection, arranged by what a neural network sees.
Search as navigation: finding by meaning when nobody knows the vocabulary. CLIP (transformers.js) · Three.js WebGPU + TSL · Met Open Access API · Vite · TypeScript
Open Latent Atlas03
Mimic
Life sorted by sight, not by name.
Clustering by resemblance when the label is the least reliable field. CLIP (transformers.js) · Three.js WebGPU + TSL · iNaturalist API · Vanilla JS
Open Mimic04
Guise
A camera-led AI transformation study. Guided demo available on request.
Real-time generative video with a person in the loop. Florence-2 (fal.ai) · FLUX Kontext · Clarity upscaler · Vanilla JS
Open Guise05
Forecast
A machine reading the mood of the species, live.
Putting a live prediction on screen beside how wrong it just was. GDELT API · TensorFlow.js · Three.js WebGPU · Vite · TypeScript
Open Forecast06
Watcher
Every person classified. Every scene assessed. Confidently wrong about all of it.
Surfacing a classifier's confidence so its errors are visible, not hidden. Florence-2 (transformers.js) · Three.js WebGPU · Global public camera APIs · Vite · TypeScript
Open Watcher07
Mirror
An AI that reconstructs a person from almost nothing.
Showing inference happening, so the viewer can see how little it needs. web-llm (MLC) · Web Speech API · Three.js WebGPU + TSL · Vite · TypeScript
Open Mirror08
Revision
Every edit to the largest record humanity has ever kept, rippling live.
Making a firehose legible without pretending it is calm. Three.js WebGPU + TSL · Wikimedia EventStream · Vite · TypeScript
Open Revision09
Vantage
The customer-care agent that says the right thing, even when it is thinking something else.
Separating what an agent feels from what it is allowed to say. Conversational AI · Agent experience · Responsible automation
Open Vantage10
Flatten
A machine that sees in 3D and gets the space wrong.
Designing for a model that is confidently wrong about depth. Depth Anything V2 · Three.js WebGPU + TSL · Hugging Face Transformers · Vite · TypeScript
Open Flatten11
Amnesiac
An AI you talk to that loses its memory while you talk to it.
Memory as an interface material: what breaks when context decays. web-llm (MLC) · Three.js WebGPU + TSL · Web Audio · Vite · TypeScript
Open Amnesiac12
CAPTCHA: After Human
Ten proofs that you are human, in a world where drawing is the only evidence left.
Designing a test that has to stay humane while it is being adversarial. WebGL · Procedural geometry · Generative drawing · Vite · JavaScript
Open CAPTCHA: After Human