Parity.
Everything you already know.
- A four-deck screen laid out like rekordbox
- Your rekordbox library, imported without changing it
- Beat sync, master tempo, quantize, hot cues and loops
Beyond.
Anything you want it to do.
- Most deck and mixer controls are typed commands a script or an AI agent can send
- A library that shows which tracks are missing their files
- A library that records where each value came from, with a draft open format for it
Open DJ is a free DJ app that runs on your own Mac. It has a four-deck screen laid out like rekordbox, imports your rekordbox library without changing it, and plays stems and lyrics you have already prepared (making them today needs the developer setup). Scripts and AI agents can drive most of its deck and mixer controls through the same commands as the screen.
Alpha, macOS on Apple silicon only. In this alpha the Mac app does not support MIDI controllers, and making stems is not in the app: today it needs the developer setup. Apache-2.0 licensed; the source is on GitHub.
Screen capture, silent. Deck 1 is playing; a second track is double-clicked in the library, loads on deck 2, starts and beat-syncs to deck 1, then the crossfader moves to deck B and back. Development build, synthetic audio, not real tracks.
Four decks, where you expect them.
The layout follows the rekordbox 7 Performance screen, over the library you already have, so most of it is where your hands already go. Where Open DJ does not match yet, such as the wide hot-cue pad layout or saving new hot cues, the features page says so.
Illustration, drawn in HTML for this page, not a screenshot. Track data is placeholder. The small crossfader in it follows the one docked at the bottom of your screen. Screenshots of the real app belong on the Press page.
Imports your rekordbox library without changing it
On first launch, setup finds your rekordbox library and imports it, with progress on screen and no Terminal. It makes a copy of rekordbox's library file and only ever reads that copy; the installed Mac app clears the write switch before its engine starts, so it will not write to your rekordbox library, a Pioneer share or a USB export. Its one library write is a djay playlist write-back, which runs only after you confirm it and backs up the playlist first. From a source checkout, writes are off by default; the one exception is undo of an earlier write you allowed. Quit rekordbox first so the copy has your latest changes. No rekordbox? Point it at a folder of music instead.
Writing back to rekordbox is switched off. The Serato, Traktor and djay adapters run from the command line today.
| App | How Open DJ reads it |
|---|---|
| rekordbox | Imported in the app on first launch |
| Any music folder | Imported in the app, labeled unanalyzed until analysis runs |
| Serato DJ Pro, Traktor | Adapters that read their files from the command line (Serato: libraries from before Serato 4.0); writers are Partial (synthetic files only) |
| djay Pro | Adapter that reads its library, from the command line |
Beat sync, master tempo and quantize
Beat Sync locks to the bar by default, so the downbeats line up. Master Tempo keeps the key when you change the tempo. Quantize snaps cues, seeks and loops to the beat grid, and every beat on screen comes from real analysis, never a guess.
Hear the next track in your headphones
Click any track's mini-waveform in the library and it plays through your headphone cue without loading a deck; with only one output, such as laptop speakers, the MIX dial blends what is in your headphones into the main output, like the cue/master knob on a mixer, so the room can hear the preview. Rest the pointer on the row for half a second first and it starts in 28 ms; a cold click took 743 ms, mostly decoding. One measured run, Wed 16 Sep 2026.
Most deck and mixer controls are typed commands.
The same commands come from the screen, the keyboard or an AI assistant, so you can automate prep or build your own tools. You never need any of this to DJ. For the curious, the features page shows how scripts and AI assistants drive the app.
Illustration. These controls only print the command shape the app's dispatcher accepts (performance-ipc.svelte.ts); nothing is sent anywhere. Value ranges follow mixer-types.ts.
Agents, inside safety limits
The Mac app's payload includes the opendj command line and opendj mcp (AGENT-11, shipped). The server sets its own limits rather than trusting the agent: master mute before play, no writes to rekordbox, and destructive library and update calls gated.
An honest library
Tracks whose file is gone are grayed out and counted in a Missing Tracks folder, and a streaming link is not marked broken. A repair tool, from the command line today, finds the files and relinks them with an undo.
WorksCrash rescue
A crash can stop the music. Reopen Open DJ within 10 minutes and your decks come back and play on from where the track would be by now, on the beat, with one Undo.
Draft spec v0.2A BPM you fixed is marked as yours
The library records where each value came from, in the app, so a later tool can tell a hand-fixed BPM from an analysis guess. Exporting or importing the open-dj format is a source-checkout tool; the Mac app has no import or export control yet.
“Ground up - we just want to build this to be as easy to mod [while] having great performance, advanced beatgrid functionality, stems etc.”
One person and an agent build system.
The library layer dates from April. The performance rig was started in July and built mostly in August and September, by a build system where issues in the private repository are the queue, agent workers build in parallel, and changes merge through automated test and review gates. A commit count is a volume signal, not a measure of quality; the gates and their exceptions are on the build page.
If it does not work yet, it says so.
A control that is not built yet still looks right, but it does nothing, and its tooltip says it is not built yet. A missing waveform is drawn as a dash, never a guess. The app is built never to show made-up data.
This site does the same: drawings of the app are labeled as illustrations.
Bring your library. Keep your rekordbox.
Open DJ 1.0 alpha is for macOS on Apple silicon only. Alpha means early: try it at home on your own library, and keep rekordbox for paid gigs for now. The download page says exactly what you get and what is still missing.