my-lil-vj

A browser VJ deck that listens to the room. Spectral-flux beat detection drives 125+ shaders and video layers in real time — a performance instrument for light.

WebGL2Web Audioreal-time
my-lil-vj

The idea

my-lil-vj is a VJ deck that runs entirely in the browser and plays light the way a synth plays sound. Point it at audio and it watches the music — detecting beats and energy — then drives a library of shaders and video layers that move with the track.

It’s built as a performance instrument, not a render tool: everything is hands-on and live. Multiple view modes let you flip between a dense control surface for setup and a clean output for the show, with a command palette to reach anything instantly.

Under the hood it’s two stacked WebGL2 contexts — a base layer and an overlay — blended together, so you can layer a shader over video, or a shader over a shader, and mix them on the fly.

How it works

Spectral-flux beat detection

Web Audio analysis tracks onset energy frame-by-frame, so visuals hit on the beat instead of drifting.

125+ shaders + video

A large shader library plus a video base layer, all blendable in real time.

Two WebGL2 layers

A base context and an overlay context composited together for true layer mixing.

Performance UX

Command palette, classic / design / perform view modes, OBS output, and a one-key recorder for instant capture.

Gallery

What’s next

Hardening hybrid-GPU video decode for long sets, and tighter gesture control via the Synth Lab routing.

Runs locally as a performance rig — the captures here are from live sessions.