Back to browse
Slerp.audio – VDJ with WebGL2 and real-time DSP

Slerp.audio – VDJ with WebGL2 and real-time DSP

by poshmosh·Apr 27, 2026·4 points·0 comments

AI Analysis

●●SolidWizardryEye CandyBold Bet

WebGL2 shaders driven by Web Audio FFT with MIDI mapping in browser.

Strengths
  • FFT analysis in AudioWorklet sends real-time data to WebGL2 shaders
  • Native Web Audio biquads handle high-pass, five-band EQ, and low-pass filtering
  • MIDI mapping support and editable GLSL shaders for custom visual scenes
Weaknesses
  • Browser audio latency makes this unsuitable for actual live DJ performances
  • More impressive demo than production tool for working VJs
Category
Target Audience

Music enthusiasts, VJs, developers interested in Web Audio and shaders

Similar To

Web-based visualizers · TouchDesigner · Resolume

Post Description

I wanted to push the limits of what I could build with Cursor. I did not write a single line of code, only prompts, plan docs, and agent files, while directing the LLM to use automated code checks (file length, linting, unit tests, performance tests, other safe guards around gh + aws cli)

I built a browser VDJ-style demo with fullscreen WebGL2 shaders. It’s something I’ve always wanted to build but never had the time to learn all that was required. Cursor almost feels like the early days of my career, where apps felt like they had unlimited potential and I just wanted to build things. I have never done DSP programming before.

I used Cursor to build the audio pipelines that send data to the shaders and to run FFT in an AudioWorklet. Tone shaping uses native Web Audio biquads: high-pass → five-band EQ → low-pass, then into the limiter/safety chain.

I created specific workflows to allow Cursor to iterate on UI/UX (using Playwright). I also used workflows where Cursor would iterate on performance. I tuned the rendering and audiolet performance directly in Chrome DevTools, passing the profiles directly back into Cursor

Below are are some stats on the project.

Project Timeline: 13 days

Cursor requests: 1,344 Total: 814 on-demand (paid) + 528 subscription-included + 2 errored (no charge)

on-demand spend: $1,146.21

total tokens: 4.37 B (4.20 B input cache reads; 83 M input w/o cache; 62 M w/ cache write; 18.8 M out) input token cache: 96.7% of input were cache reads — long threads, not chopped chats

tree size: ~39.3k LOC (web/ TS+CSS, IaC, audio worklet, various experiments)

long threads: 537 user prompts and 7,025 assistant messages across 9 top-level agent threads

Similar Projects

HardwareMid

Simple Audio Sweeper

REW and Room EQ Wizard already do frequency sweeps with more features and calibration.

Cozy
pjdude
322mo ago
Design●●Solid

3D pin art Audio Visualizer

Nine thousand pins reacting to FFT data is a fun demo, but it's just another Three.js visualizer.

Eye CandyCozy
wyattmattoe
2023d ago