The running order, done for you
Matteo reorders the whole playlist into a real harmonic energy arc, reads each track's true BPM and Camelot key, and marks the cues — then hands it to Rekordbox. This is the actual results screen from a 35-track set.
Four steps, fully automatic
Paste a link and press one button. Matteo runs the whole pipeline and hands Rekordbox a finished set.
Paste a playlist
Drop in any Spotify playlist URL. That's the only input Matteo needs.
Download & analyze
Every track is fetched, cleaned to 320k, then analyzed for BPM, key and structure.
Order & cue
Sequenced into an energy arc by Camelot key and tempo, with cue points on every track.
Into Rekordbox
Matteo hands Rekordbox a file it trusts — one right-click imports your set with the grid and cues intact.
Real DJ analysis, not a black box
The DSP runs locally on your Mac — no API calls, no accounts, no cloud. Your library stays yours.
Accurate BPM
Comb-filtered tempo detection with a dance-tempo prior — it reads the real tempo instead of locking onto a half-time, matching Rekordbox within about a BPM.
Camelot key
Musical key detected via chroma + Krumhansl-Kessler profiles and mapped to the Camelot wheel for clean harmonic mixing.
Energy-arc ordering
Sequenced as a journey — warm-up, build, peak, cool-down — with your biggest tracks placed at the peak, not scattered.
Cues on the beat
Mix-in, drop, breakdown and mix-out marked on every track. One click — Align to Rekordbox's grid — snaps every cue onto Rekordbox's own grid, so they land exactly on the beat.
Aligned to Rekordbox itself
Rekordbox re-analyzes every import and draws its own grid. Instead of fighting that, Matteo reads Rekordbox's grid and snaps your cues onto it — the one approach that's dead-on, every time.
Live activity log
A scrolling terminal shows exactly what's happening — downloading, cleaning, analyzing, importing — with pause, resume and stop.
Auto-retry downloads
Flaky or rate-limited tracks are re-attempted automatically; anything truly unavailable is reported, never silently dropped.
320k · 44.1 kHz
Every track is re-encoded to a clean 320 kbps / 44.1 kHz MP3 — the standard high-quality format Rekordbox expects.
One window, one button
Paste, press Build Set, wait. Simple enough that it gets out of your way and lets the music do the talking.
Get your set on the decks
Matteo drops your set into Rekordbox — cued and in harmonic order. Connect it once, then a single right-click per set. For cues sitting exactly on the beat, one more click aligns them to Rekordbox's own grid.
Connect Matteo
In Rekordbox: Preferences → Advanced → Database, and point “rekordbox xml” at the file Matteo saved. You only ever do this once.
Right-click → Import
Under rekordbox xml in the sidebar, right-click your “Matteo — …” playlist and choose Import Playlist. That's the whole import — Rekordbox never needs to close.
Mix it
Your set lands in your collection in harmonic order, analyzed, with cue points on every track — ready to load and mix. Rekordbox draws its own grid on import, so cues land close; for dead-on, do the one-click Align below.
Align to the beat
Rekordbox re-analyzes every set and draws its own grid, so cues can sit a hair off the line. In Matteo, click Align to Rekordbox’s grid: let Rekordbox finish analyzing the set, quit Rekordbox, then hit Align — Matteo reads Rekordbox’s real grid and snaps every cue exactly onto it. Your library is backed up first. Do it for a set you’re about to play.
Download Matteo
A native macOS app. Nothing to install beyond the app itself — ffmpeg and the audio engine are bundled.
A personal, local, non-commercial tool. Requires Rekordbox installed.
- Open Matteo.dmg and drag Matteo into Applications.
- First open (one time): because it's a personal app — not from the App Store — macOS will say it “could not verify Matteo is free of malware.” That's expected. Click Done, then go to System Settings → Privacy & Security, scroll down to Security, and click Open Anyway next to Matteo. Confirm with your password / Touch ID. From then on it opens normally.
- Paste a Spotify playlist URL and hit Build Set — Matteo downloads, analyzes and orders the whole set.
- First set only: in Rekordbox, open Preferences → Advanced → Database and point “rekordbox xml” at the file Matteo saved. One time.
- Under rekordbox xml, right-click your “Matteo — …” playlist → Import to Collection. Your set loads cued and in harmonic order.
- For cues exactly on the beat: let Rekordbox finish analyzing the set, quit Rekordbox, then in Matteo click Align to Rekordbox’s grid. Matteo snaps every cue onto Rekordbox’s own grid (your library is backed up first). Reopen Rekordbox — dead on the line.
Release notes
Cues exactly on the beat — “Align to Rekordbox’s grid”
- New one-click Align step: Rekordbox re-analyzes every import and draws its own grid, so Matteo now reads Rekordbox’s grid and snaps every cue onto it — dead on the line. Backs up your library first.
- Hardened downloads: a flaky track (YouTube gzip hiccup) can no longer crash a build — auto-retried and resumed; every build now writes a log.
- Fixed analysis in the packaged app (bundled ffmpeg is now always found), with a new self-test that runs the shipped app the way your Mac does — so packaging bugs are caught before release.
- First-launch guidance updated for modern macOS (Privacy & Security → Open Anyway).
Accurate BPM & quality display
- Rewrote tempo detection so BPM matches Rekordbox — no more half-tempo reads.
- Per-track audio quality (320k · 44.1 kHz) shown on the results screen.
Cueing, ordering & reliability
- Downbeat-aware cue placement and a fuller cue set: intro, drop, breakdown, mix-out.
- Energy-arc sequencing — warm-up → build → peak → cool-down.
- Native import verified on the latest Rekordbox; live activity terminal now scrolls cleanly.
First installable release
- The full pipeline — fetch, download, clean, analyze, harmonic order, cue, native Rekordbox import.
- Live progress with pause / resume / stop, auto-retry, and an automatic library backup.