DEV Community

Jorge Oviedo
Jorge Oviedo

Posted on

I built a complete DJ console in a single HTML file using Web Audio API

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

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!

Top comments (0)