DJ Library Companion · a short film

A one-minute film

What mixes next?

A DJ library with drifting tags, an app that tidies them, and a graph that picks the next song.

Chapter I

The problem

Bad data in, bad suggestions out.

Track info TITLEArtist - Song (Extended Mix) ARTIST(empty) MIX(empty) KEYAmthe wheel says 8A

A DJ library grows over years, and its tags drift.

Artist names end up inside titles. Mix names get lost. Keys arrive in different notations.

An app can't suggest the right next song from tags like these.

Am = 8A Rekordbox writes keys as notes. DJs mix on a numbered key wheel. The graph step translates between them.

Chapter II

The solution

Read it. Clean it. Ask a graph.

Read the libraryRekordbox, the software DJs use. Its files stay untouched.
Tidy the tagsMove the artist out of the title, and the mix name into its own field.
Put every key on the wheel“Am” becomes 8A, the number DJs mix by.
Ask a graph what plays nextNeo4j Aura, a graph database.

A desktop app reads the library, fixes what it can, and writes playlists back as a new file.

Nothing in the original library gets changed.

What the pipeline does
Artist namesmoved out of titles
Mix namesgiven their own field
Keysconverted to the wheel (Am → 8A)
Original files changed0
Five layers of protection
  1. 1
    Read only by defaultRekordbox and the imported XML are never written. Music files change only when you ask, and each gets copied first.
  2. 2
    Safe exportAlways a new file. It refuses to overwrite the XML you imported.
  3. 3
    All-or-nothing importAn error or a cancel rolls everything back.
  4. 4
    Undoable fixesNothing changes until you apply, and one click reverts it.
  5. 5
    BackupsOne shortcut copies the whole app library.

Chapter III

How it works

Songs mix best one musical key apart.

DJs arrange the 24 musical keys on a wheel, numbered like a clock.

    Chapter IV

    The proof

    Who built it, and how I know it works.

    The build
    Local Ollama agentsconfig files, no code
    Claude Codebuilt the app
    Automated tests107
    Audio formats that playWAV · AIFF · FLAC · M4A · MP3
    Graph answer timeabout 0.2 s

    Chapter V · What's next

    What mixes next?

    Checked

    • Import, tags, playlists, export
    • The library loaded into a graph
    • Answers in about 0.2 seconds

    Still to check

    • The suggestion panel in the app
    • A round trip back into Rekordbox
    • Tag fixes on a full library

    The five-song set is an illustration. Song names and library details are left out on purpose.

    Title