Guide

Browser-Based Visual Technology

WebGL, Three.js, p5.js, Hydra, ISF — the lineage

Browser-native VJ tools like Hydra and AUTOVJCLUB only work because of a decade of open-source layers shipping one at a time. This page walks through WebGL, Three.js, p5.js, Hydra, and ISF in release order with authors and dates. Technical introduction, oriented toward developers.

Reading time
About 6 min
Goal
Understand the browser visuals stack
For
Engineers and development-curious VJs
Prerequisites
Basic JavaScript helps
Browser-Based Visual Technology

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.