A+BGet it

Download

Open DJ is free alpha software for macOS on Apple silicon. This page says exactly what you get, and marks what is not ready yet.

ADeck A / The app

Open DJ for macOS.

A desktop app for Apple silicon Macs. Your library and settings live on your own machine.

Open DJ 1.0 alpha

Available after the launch build is verified
Platform
macOS on Apple silicon (arm64) only. No Intel build.
Version
Open DJ 1.0 alpha, the first public release of the DJ app. Earlier version numbers are explained on the Changelog.
Stage
Alpha: the first public test release. Try it at home on your own library, and keep rekordbox for paid gigs for now.
Not in this alpha
USB export: cues you set stay in Open DJ, and nothing goes back to rekordbox or to a USB stick, so you cannot prepare club USBs with it yet.
MIDI controllers: not supported in the Mac app in this alpha, which works with mouse and keyboard. They work in Chrome or Edge only when you run Open DJ from a source checkout (below).
Audio outputs: the app's own output pickers do not work in this build; it plays to the macOS default output, so set the output in macOS Sound settings.
Effects, sampler, recording: no effects beyond the channel filter and no sampler; a REC control exists in the code but has not been checked in the Mac app.
Making stems: not in the app; today that needs the developer setup.
Hot cues: your rekordbox hot cues come across and jump; saving new ones is built but not yet tested on a real library, and not yet possible on tracks imported from a folder.
Cue on a second audio output: not in the Mac app yet; headphone cue works in practice mode or with a split cable.
Windows, Linux and Intel Macs.
Price
Free. No paid feature exists.
License
Apache-2.0. License page
Source
The source link appears after the public mirror is verified. The build-from-source steps are below.
Bugs
There is no public issue tracker at launch. The security route opens with the public mirror, and hello@open-dj.com works once its forwarding is verified (contact). Error reports and masked session recordings reach the project only if you accept the test-user terms (Privacy).
Arrives with the launch build When the launch build is posted, this box lists, read from the file itself:
  • The file name and its size.
  • Its SHA-256 checksum, to check your download.
  • Whether it is signed and notarized by Apple, and if not, how to open it.
  • The minimum macOS version.
First run, and your library.

Open the app and setup finds your rekordbox library and imports it, with progress on screen. Quit rekordbox first so the import has your latest changes. No rekordbox? Pick a music folder instead; those tracks are analyzed after the import and labeled unanalyzed until then.

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. It copies rekordbox's database and reads only the copy. From a source checkout, writes are off by default; the one exception is undo of an earlier write you allowed. rekordbox and djay writes go through the safety rails, and the FAQ covers the Serato and Traktor writers. Back up your libraries before the first run anyway, the way you would before trying any new DJ software.

verify the downloadmacOS Terminal
# compare with the SHA-256 listed above
shasum -a 256 <downloaded file>

# check the signature once installed
codesign --verify --deep --strict --verbose=2 <path to the app>
spctl --assess --verbose <path to the app>
A+BPlatforms

One platform, said plainly.

A platform gets a download button only when a tested build exists for it.

PlatformStatusFrom
macOS, Apple siliconAlpha, build pendingINSTALL-05
macOS, IntelNot builtINSTALL-05
WindowsNot yetCROSS-02
LinuxNot yetCROSS-01
BDeck B / From source

Build it yourself.

For developers: one verified path, from the project README and justfile, that runs Open DJ from source in your browser. It is also the only way to use a controller today, and it needs some comfort with Terminal. You need macOS, git, just, uv and Node.js 22.14 or newer with pnpm. uv fetches Python 3.11.15 for you.

installREADME.md
# the clone URL is filled in after the public mirror is verified
git clone <public repository URL> opendj
cd opendj

# Python environment (.venv), reproducible from uv.lock
uv sync --frozen --extra dev --python 3.11.15

# frontend: pnpm only, no package-lock.json
corepack enable
cd apps/webui/frontend
pnpm install --frozen-lockfile
run the rigREADME.md
# daemon first; it claims this checkout's own
# port pair and listens on this Mac only
make webui.dev

# then the SvelteKit dev server
cd apps/webui/frontend && pnpm dev

# open the frontend address this prints, plus /performance
just webui-ports

From source: your rekordbox data

rekordbox's master.db is SQLCipher-encrypted. A source checkout reads a static decrypted working copy at data/master.plain.db; python -m apps.audit.rekordbox_vs_music first copies the live database to data/master.db.copy, then python -m apps.shared.state.cli init creates the state database and python -m apps.shared.state.cli ingest-rb --write decrypts that copy with the key from pyrekordbox and imports it (without --write it is a dry run). If you copy the database by hand, copy master.db, master.db-wal and master.db-shm together, or recent changes are missed.

From source: if the rig looks empty

Run just webui-ports and check that the backend address it prints belongs to this checkout's daemon (lsof -ti :<backend port>). A daemon from another checkout serves a different library, so the rig can look broken when it is not.

More, including tests and conventions: Contributing.

A / Parity
Beyond / B { type: 'crossfader', value: 0.50 }