I built a complete DJ console in a single HTML file using Web Audio API
A developer has launched MasterDJ AI, a professional DJ platform that runs entirely in a single HTML file using the Web Audio API. The browser-based console includes dual-deck mixing, real-time effects, BPM detection, and a live song request system via QR codes, with a PHP/MySQL backend for licensing and tracking.
Hey dev community I want to share a project I just launched: MasterDJ AI — a professional DJ platform that runs entirely in the browser. What is it? A single HTML file ~400KB that gives you a full DJ console. No frameworks, no dependencies, no server required for the core app. Tech Stack - Web Audio API — real-time audio processing BufferSource, BiquadFilter, Convolver, Analyser nodes - Canvas API — rainbow waveform visualization colored by frequency - ID3v2 parser — extracts album cover art from MP3 metadata in pure JavaScript - Center channel cancellation — karaoke mode that removes vocals by subtracting R from L channel - CSS custom properties — 8 theme skins switchable in real-time - i18n — 13 languages with RTL support for Arabic and Hebrew - PHP/MySQL — backend for license keys, song requests, and visitor tracking Key Features - Dual deck mixing with independent volume, speed, pitch - 3-band EQ with kill switches per deck - 4 real-time effects: Filter, Delay, Reverb, Phaser - Smart automix with 3-second ease-in-out crossfade - BPM detection using energy-based onset analysis - 8 hot cue pads and beat loops per deck - Session recording via MediaRecorder API - Live Song Requests — audience scans QR code to request songs in real-time The Song Request System This is the feature I'm most proud of. The DJ opens a "room," gets a QR code. People at the party scan it with their phone — no app needed — type a song name, and it appears on the DJ's console in real-time via PHP polling. Try it 🔗 https://masterdjai.com https://masterdjai.com Free version available. Pro $14.99 one-time unlocks effects, karaoke, hot cues, and premium skins. Would love to hear your feedback, especially on the Web Audio API implementation