{grafen}
{grafen}
All work

AI DJ Set Builder

mixbuilder

A web app that analyses a DJ's tracks in the browser and sequences them into a set that flows — warm-up to peak to close — without a single file leaving the device.

Visit the site
mixbuilder

The challenge

Ordering a set is craft work: matching tempo, keeping keys harmonically compatible, and shaping energy across an hour. Doing it by ear takes years to learn and hours per set. The obvious way to automate it — upload your library to a server — is a non-starter for DJs sitting on gigabytes of licensed audio.

What we built

We put the whole analysis pipeline in the browser. Essentia.js runs as multithreaded WASM inside a pool of Web Workers, extracting tempo, key, energy, and track structure locally — the page is cross-origin isolated so threaded WASM actually works. Keys map onto the Camelot wheel so harmonic compatibility is scored, not guessed. A pure-TypeScript optimizer then scores every candidate transition and searches for the ordering that best fits a chosen energy arc — warm-up, peak, journey, or flat — and the result exports to Rekordbox XML, M3U8, or a printable set sheet. Accounts are optional: sign in and sets sync through Supabase, or use it signed-out and everything stays in IndexedDB.

The outcome

A set that would take hours to sequence by hand comes back in minutes, and the privacy question never arises: raw audio never leaves the device — only derived feature data is ever sent anywhere.

Start a project

Want something like this?

Tell us what you're building. We'll get back to you within 24 hours with an initial assessment and next steps.

contact@grafen.com

(+216) 29 409 996

B51 Cité Erriadh El Manar 1 Tunis Tunisie

ProjectStep 1 of 3