Mind

live

Local-first second-brain notes app. Quick capture, a pinned TODO list, rich markdown editing, image attachments, search across everything — all stored in your browser, synced through your own Google Drive.

notestaskslocal-firstpwa
open →

Setlist

live

Live-use and rehearsal setlist manager. Import from text or Spotify playlists, attach notes via text or voice, swipe through songs in performance mode. Built for pedal steel gigs.

setlistnotesspotifymobile
open →

Syzygy

live

Re-marry better audio to a video. Align at zero, by each file’s capture clock, by matching sound (transient correlation), or by hand; trim or pad the ends with still frames. Stream-copies the video untouched whenever possible — all in your browser via ffmpeg.wasm.

ffmpeg-wasmaudiovideooffline
open →

Qualia

live

The full live-coding workstation — Strudel + Hydra, a guitar rig + looper, sequencer, vox, audience entanglement, and 22+ audio/pose-reactive visualizers. Audio + pose + crowd drive a shared QualiaField; new fx are one file.

web-audiowebgl2mediapipelive
open →

Cymatics

live

Audio-reactive Chladni patterns. Particles drift to the nodal lines of a wave field driven by your mic — square plate, circular plate, multi-source interference, lissajous, ripples. Built for ambient / drone / experimental sets.

web-audiochladniparticleslive
open →

Spectrum Pose

live

Live audio spectrum visualizer layered with pose tracking. Skeletons modulate with bass, mids, highs; beats spawn sparks. Built for improvised ambient performance.

mediapipeweb-audiocameralive
open →

Pose Particles

live

MediaPipe body pose estimation drives a particle attractor field in real time. Requires camera access.

mediapipecameraparticles
open →

// about the lab

The lab is where I put things that are too interactive to be a video. Each experiment is a standalone page — full-screen canvas, keyboard/mouse/touch controls, and a link to the source code on GitHub.

The tech varies by experiment but stays close to the metal: vanilla JS, typed arrays, GLSL shaders. No React, no heavy frameworks — particle systems don't need a VDOM.

view GitHub →