Portfolio

A cymatics playground

Integrating Sound

integratingsound.com

Where sound becomes form: a live Chladni plate you can play, and an honest field guide to vibration. The physics of standing waves, the people who built cymatics, and the frequencies living things make and hear, with every claim marked as physics, history or belief.

The Board
A Canvas 2D simulation of sand settling onto a vibrating plate’s nodal lines, square or circular (Bessel modes for the circle), driven by live Web Audio oscillators, so the tone you hear is the figure you see.
Two tones
One tone or two at once, met at their shared nodes or overlaid whole, in four waveforms, with an auto-sweep through the modes and a slow settle that lets you watch the grains migrate.
The Resonant World
Interactive explorations of what organisms make and hear, from infrasound to ultrasound, and of Earth’s Schumann resonance, kept honest.
Reading
Light and dark themes, motion that stills for those who ask for less, and a plate that pauses when it’s off screen.

An interactive study

Integrating Light

integratinglight.com

Walter Russell’s ten octaves of integrating light, told as one wave: every element a tone, with its own colour, note, sine wave and cymatic figure. Russell’s four charts are redrawn from their data, to hover, tap and hear.

Drawing
Interactive SVG generated from a single TypeScript model of all 149 tones, so every chart, list and sound agrees.
Sound
Web Audio: each tone plays in just intonation from C = 256 Hz, and a two-tone harmonograph traces the interval.
Cymatics
A live Chladni plate, drawn on canvas, for every tone.
Reading
Every element also in plain text, motion that stills for those who ask for less, and sharing through the device’s own share sheet.

An informational site

Plasma Resonance Therapy

plasmaresonancetherapy.com

A quiet, single-page introduction to Plasma Resonance Therapy: cold plasma light and a Rodin-coil field, offered one on one. It explains the instrument, the physics of cold plasma and its lineage from Tesla to the violet ray, makes no claims, and invites a visitor to write in.

Drawing
A canvas scene: spiral CFL bulbs, a large and a small on each of two splitters, breathing six times a minute with plasma tendrils struck inside, and a Rodin coil’s 5:12 toroidal winding turning slowly behind them. It holds still for those who ask for less motion.
Type
Cinzel inscriptional capitals over Cormorant Garamond, on a night palette of deep indigo into violet, plasma white and cold cyan.
Writing in
An interest form that posts to the sites’ own small Go forms service, which mails the reply inbox through Amazon SES. No third-party form host.
Launch
Scaffolded from one command (site, hosting, DNS, mail and search console) and live the same day, on the same static stack as the rest.

Internet radio

DJDWZ Radio

djdwz.com

Two stations streaming around the clock from an archive of electronic music: Millennium Archive, releases from 1999 to 2004, and DJ Dweezil Sets, radio shows and live events. You tune in from a pair of Pioneer CDJ-1000s and a four-channel mixer, drawn in CSS 3D. Each deck plays its station in place, and its display shows what’s on now.

Streaming
Icecast 2.4 serving 256 kbps MP3 mounts, behind Caddy with automatic Let’s Encrypt certificates. The admin and status pages stay private.
Programming
Liquidsoap, one process per station: a shuffled rotation that reshuffles every pass, transitions set per station, ReplayGain levels, and a cached fallback if the archive disk goes quiet. Tuned to A4 = 432 Hz, pitch and tempo together, like a slowed turntable.
The archive
About 2,500 releases, 6,554 recordings, catalogued as plain files and JSON, with no database. Python tooling reads each file with FFprobe and never re-encodes an MP3.
Now playing
A small publisher watches Icecast and, when a track changes, pushes one JSON file to the website’s own S3 bucket, about ten seconds behind. The website never has to ask the radio server.

Contact

Tell us a little about you and your project, and we'll get back to you promptly.