Features
This page describes the current product surfaces and what each one is responsible for.
Desktop Hub
The desktop app is the source of truth for the product.
Library and ingest
- add one or more local music folders
- scan and index tracks, artists, albums, and artwork
- keep the library database up to date as folders change
Library management
- browse tracks, albums, artists, playlists, saved items, and folders
- upload playlist cover images
- keep a shared playback session/history for desktop and mobile
Playlist workflows
- import Rekordbox XML
- import M3U / M3U8 / XSPF playlists
- import Traktor NML
- import Apple Music / iTunes XML
- import Serato local crates and smart crates
- review inferred folder roots before exposing new trees in
Folders - detect missing playlist files and relocate them explicitly
- import playlists from the desktop playlist view or folder workflows
- reorder playlist tracks directly in the desktop playlist screen
Collaborative playlists
You can turn a normal desktop playlist into a collaborative playlist and invite another Music Hub.
The current flow is:
- create or open a normal playlist
- choose Make collaborative
- copy the invite link
- send it to another Music Hub owner
- the other hub accepts the invite from desktop or mobile
After a hub joins, both hubs can sync playlist changes. Track playback still follows the personal-hub model: your phone talks to your own hub, and your hub talks to the source hub when it needs a shared track.
Admins can invite, revoke, and promote members. Members can read and edit playlist content when their hub has the right permissions.
Track notes and DJ metadata
Desktop now supports more context around tracks:
- add notes to a track from the track detail view
- add notes to a track inside a playlist without affecting the same track elsewhere
- show imported DJ metadata such as BPM, key, cue/loop counts, and waveform availability when that data exists
- keep background analysis/import activity visible while the hub is working
Playback
- direct streaming where the format/path allows it
- HLS when a more compatible or remote-safe path is needed
- shared playback session and queue across surfaces
Pairing, remote, and sharing
- QR pairing and mobile deep links
- HTTPS pairing share links for chat apps
- Cloudflare remote access
- embedded Tailscale remote access
- public share pages for tracks, albums, artists, and playlists
Public share pages (standalone)
Share links open a standalone web UI (not the full desktop shell in the browser):
- Paths:
/share/playlist/:id,/share/album/:id,/share/artist/:id,/share/track/:id - Header: “Music Hub” on the left; on the right, a hub pill shows the hub display name from the share bootstrap API.
- Hub pill: clicking it opens a short explainer whose copy and CTAs match the static splash the hub serves at its public root URL when Public web access is set to Shared pages only (
standalone_only): it tells visitors to ask whoever runs that hub for a share link, then Want to host your own library? → Get Music Hub → music-hub.gordo.design (opens in a new tab), plus a line for docs/downloads/setup on the same site. - The pill is shown only in the header on these pages (not repeated in the page body).
See also Pairing & Remote for how the public base URL behaves vs /share/....
Licensing
- remote access is gated by a desktop license
- LAN / Wi-Fi usage remains available without remote entitlement
- desktop verifies signed entitlements before keeping remote unlocked
Diagnostics and support
The desktop hub includes an integrated diagnostics suite for troubleshooting and crash reporting:
- Standard log files: macOS
~/Library/Logs/Music Hub/(main.log, desktop.log) - Config and DB:
~/.music-hub/config.jsonand~/.music-hub/music.db - Opt-in upload: Settings toggle to send diagnostics automatically
- Crash reports: Prompt-based upload that works even when the opt-in toggle is off
- No music data is uploaded: Diagnostics payloads contain logs, system info, and hub state — never your music files or database
Library indexing status
The sidebar shows a live indexing banner while the hub scans new folders or enriches tags in the background. It distinguishes between:
- Scanning library — active folder scan
- Enriching tags in background — pending metadata enrichment jobs
- Offline folders — disconnected folder roots
Docker Server
Run Music Hub on any Linux server, NAS, or seedbox. The Docker image includes everything you need — no desktop computer required.
- one command to start:
curl -O https://music-hub.gordo.design/docker-compose.yml && docker compose up -d - add music folders from the web interface
- same library, playback, and phone pairing as the desktop app
- remote access available with a paid license
Mobile Companion
The mobile app is the paired client for the hub. iOS is distributed through TestFlight; Android is currently in closed beta through Google Play testing.
Browse and play
- home sections
- tracks
- albums
- artists
- playlists
- files/folders view
- now playing and queue
Connect
- scan QR from desktop
- open a pairing share link sent through chat/email
- manual connect when needed
- keep auth refreshed per saved hub
Route switching
- prefer local Wi-Fi when available
- fall back to Tailscale or public remote when available
- surface
license required for remoteas a product message instead of a generic network failure
Landing and Buyer Flow
The landing site is part of the product because it currently owns the paid remote access flow and recovery.
- local free vs paid remote plans
- post-purchase handoff
- recovery portal for re-downloads
- license issuance and onboarding email
What Is Public Today
- Desktop hub app
- Docker server (NAS, seedbox, Linux)
- iOS companion app
- Android companion app in closed beta
- Wi-Fi playback
- remote playback with a valid desktop entitlement
- public share pages
Current paid launch options
Local FreeRemote Monthlyat$3/monthRemote Lifetime Early Birdat$99with a normal$149reference price
What Is Not Public Yet
- ready-made Windows desktop installer
- ready-made Linux desktop installer
- open public Android distribution
- full multi-hub / shared-hub product surface
Relay (repository)
The music-hub-relay (opens in a new tab) repository holds code for a managed relay (hosted tunnel path) as an alternative to configuring Cloudflare or Tailscale yourself on the hub.
- It is not part of the current paid launch surface area; pricing and copy still assume sovereign remote until managed relay ships.
- In a full source checkout from the umbrella repo
music-hub-parent(opens in a new tab), it appears as therelay/submodule. See Building § Relay for clone/update commands.