Layers and their reference libraries
- WebGL — formalized March 2011
- Khronos Group's OpenGL ES 2.0-based API for accessing the GPU from the browser. WebGL 2 (2017) bumped it to OpenGL ES 3.0 equivalent. The foundation of modern browser visuals. The WebGPU successor stabilized in Chrome in 2023.
- Three.js — 2010, Mr.doob (Ricardo Cabello)
- A 3D engine that abstracts over WebGL with Unity/Unreal-style scene, camera, light, and material APIs. 100k+ GitHub stars; the de facto choice for 3D in the browser.
- p5.js — 2013, Lauren McCarthy
- A JavaScript port of Processing (Ben Fry + Casey Reas, 2001+) for creative coding. Widely adopted in art schools and workshops; the pre-Hydra default for "make a visual in a browser."
- Hydra — 2017, Olivia Jack
- Live-coded VJ in the browser. Chains WebGL framebuffers modular-synth style, shares streams peer-to-peer via WebRTC. Debuted at the 2017 International Conference on Live Coding. Open source; sharing a URL can set up a live set. A real step change in how fast a visual performance can go live.
- ISF (Interactive Shader Format) — 2013, VIDVOX
- An open standard wrapping GLSL fragment shaders in a JSON manifest. Currently 2.0. Lets VJ apps, media servers, and NLEs exchange shaders in a common format. 200+ official shaders open-source. VDMX, Resolume, and MadMapper all support it.
Supporting browser APIs
Beyond visuals, the Web APIs around VJing arrived one by one: Web Audio API (2011) for analysis — AnalyserNode gives real-time FFT, volume, and onset detection. WebMIDI (2015) lets Launchpad and APC Mini talk directly to a page. WebRTC (2013) enables peer-to-peer video streaming. With those in place, "VJ in one browser tab" is finally a complete story.
AUTOVJCLUB's stack sits in the same lineage: WebGL for rendering, Web Audio API for capturing audio to send to ACRCloud for recognition, WebMIDI for controller support, and browser-to-browser communication for remote control from a phone. Directly continuous with the Hydra design philosophy.