← back

the player

Harmony

A native macOS and iOS music player that pulls your local Apple Music library, Spotify, YouTube Music, and SoundCloud into one shared play queue — built entirely on Apple frameworks, with zero third-party dependencies.

Swift macOS + iOS zero dependencies Camelot wheel

Most music collections don't live in one place anymore. A few thousand songs sit in your local library, the rest are scattered across Spotify, YouTube, and SoundCloud. Harmony treats all four as one collection: a single queue where tracks from every source coexist and reorder together.

The party trick is Harmony Shuffle. It reads the key and BPM tags that DJ tools like Mixed In Key write into your files, and auto-queues local songs whose musical key — on the Camelot wheel — and tempo are compatible with what's playing. Dials in the player tune the tolerance; a Re-Seed button jumps to a fresh key and BPM neighborhood when you want a change of scenery.

Getting the streaming half connected is one row per service in Settings: tap Connect, sign in on the service's own sheet, done — no keys to paste, no forms, and the session lives in the Keychain and survives relaunches. YouTube search and browse need no connection at all. Everything else stays out of your way: your library is only ever read, and your tags are never modified.

highlights

shuffle

Harmony Shuffle

Auto-queues songs whose key and BPM are compatible with what's playing, with dials for tolerance and a rainbow progress bar while it's on.

queue

one queue, four sources

Local files, Spotify, YouTube, and SoundCloud tracks coexist in a single queue you can scroll, reorder, and scrub through.

search

search everywhere

⌘K on macOS, the Search tab on iOS — the All scope covers your library plus Liked songs on every connected service.

discover

per-track recommendations

Long-press or right-click any track to start Harmony Shuffle from it, or pull similar tracks by key, BPM, and genre.

connect

one tap per service

Each service is a single Connect row and a native sign-in sheet — nothing to paste. Sessions live in the Keychain and survive relaunches.

native

dependency-free, and yours to arrange

Apple frameworks only: a Liquid Glass UI, fast-scroll indicators, and a tab bar you reorder — past five, iPhone tucks the extras behind a More tab.

under the hood