CrateMate

A command-line tool for turning a messy music downloads folder into a tagged DJ library.

Type
Personal project
My role
Creator & developer
Built with
Python
Blue Cratemate wordmark on a dark background

Keeping the right mix

A clean DJ library needs more than an artist and a title. Remixes and extended mixes can end up tagged as the original version when matched against a catalog, losing the details that distinguish one track from another. CrateMate keeps the mix information already in the filename while organizing the downloads folder.

Designing and building the tool

CrateMate is a solo project, designed and built in Python. My work covered defining the scope, building the import workflow, and adding tools for maintaining the library.

From filenames to a tagged library

The filename is the starting point for artist, title, and mix details. The import flow then looks up cover art and metadata, writes clean tags, and copies the track into the DJ library. Mix information is preserved, and the original file stays in place during import.

The library tools handle missing covers and tags, duplicate tracks, FLAC conversion, and optional AI-assisted tagging.

Animated terminal demonstration of the CrateMate splash screen
The CrateMate command-line interface.

Less time fixing tags

CrateMate is part of my music preparation workflow. Keeping the right mix information during import means less time correcting tags and less frustration when organizing tracks for a DJ set.

The tool is also available as an installable package on PyPI, with the source code on GitHub.