83
## The Problem I Kept Running Into
I run Psychedelic Universe, a YouTube channel with 634K subscribers in the electronic music space. Once in a while, I post a Psytrance DJ mix. Every time I prepare a set, I hit the same wall:
Rekordbox lets you sort by key OR by BPM. Not both. And the key sort is alphabetical - A, Ab, Am, B - which has nothing to do with harmonic compatibility.
With 20 tracks, there are 2.4 quintillion possible orderings. No DJ is solving that by hand.
Pioneer's own forum has had a feature request for this sitting unanswered for years.
## What HarmonySet Does
Upload your Rekordbox playlist export → get the mathematically optimal track order for harmonic mixing and energy flow.
- Held-Karp algorithm - not a greedy heuristic, the actual Traveling Salesman Problem solved with dynamic programming
- Circle of Fifths visualization - see your harmonic path on an interactive wheel
- Three energy modes - Ramp Up, Ramp Down, Wave
- 100% client-side - your files never leave the browser
- Quality scoring - 0-100 score showing exactly how much your set improved
## How It Was Built
I'm not a programmer. I built the entire thing with Claude Code - describing what I wanted, reviewing output, iterating. The stack is Next.js 16, TypeScript, Tailwind, Supabase, deployed on Vercel at $0/month.
99 tests passing. Didn't write any of them.
The hardest part wasn't the algorithm - it was parsing. Making the tool handle UTF-16LE encoding, tab delimiters, and five different key notation systems across Rekordbox exports. That's where 80% of the debugging went.
## Try It
Upload a playlist at harmonyset.com and see what happens. If you use Rekordbox, there's a step-by-step guide for exporting and optimizing.
Feedback welcome - especially from DJs on whether the energy modes feel right, if it helped them, and from builders on the AI-assisted development workflow, issues, bugs, and general opinion + improvement suggestions.
Built with