A minimal Spotify player for macOS.
Native, responsive, and typically uses around 120 MB of RAM.

Rust + GPUI + librespot + rspotify + SQLite + SDL2
GPUI renders the native GPU-accelerated interface, librespot handles playback, rspotify connects to the Spotify Web API, and SQLite keeps local state.
Cadence requires macOS and Spotify Premium. On first launch, Cadence guides you through creating a Spotify developer app and entering its Client ID. Client IDs are public; Cadence never needs your client secret.
http://127.0.0.1:8888/callback as a redirect URI.Cadence stores the Client ID in app preferences and keeps login and playback tokens in macOS Keychain.
Building Cadence requires Rust and Apple's Metal Toolchain. Developers can skip
the setup screen by setting SPOTIFY_CLIENT_ID at launch:
SPOTIFY_CLIENT_ID="your-client-id" cargo run
For a stable local signature and fewer Keychain prompts during development:
SPOTIFY_CLIENT_ID="your-client-id" ./scripts/run-signed.sh
Version tags publish an optimized macOS app and SHA-256 checksum on the releases page. Current builds use an ad-hoc signature and are not notarized, so macOS may require using Open from the app's context menu on first launch.
Release builds do not include a shared Spotify Client ID. Each person configures
their own Spotify developer app on first launch. The logo attribution is in
THIRD_PARTY_NOTICES.md.
57 commits
Hacker News (1)
Rust
88.6%
HTML
6.8%
Python
2.7%
Shell
1.9%
A minimal Spotify player for macOS.
Native, responsive, and typically uses around 120 MB of RAM.

Rust + GPUI + librespot + rspotify + SQLite + SDL2
GPUI renders the native GPU-accelerated interface, librespot handles playback, rspotify connects to the Spotify Web API, and SQLite keeps local state.
Cadence requires macOS and Spotify Premium. On first launch, Cadence guides you through creating a Spotify developer app and entering its Client ID. Client IDs are public; Cadence never needs your client secret.
http://127.0.0.1:8888/callback as a redirect URI.Cadence stores the Client ID in app preferences and keeps login and playback tokens in macOS Keychain.
Building Cadence requires Rust and Apple's Metal Toolchain. Developers can skip
the setup screen by setting SPOTIFY_CLIENT_ID at launch:
SPOTIFY_CLIENT_ID="your-client-id" cargo run
For a stable local signature and fewer Keychain prompts during development:
SPOTIFY_CLIENT_ID="your-client-id" ./scripts/run-signed.sh
Version tags publish an optimized macOS app and SHA-256 checksum on the releases page. Current builds use an ad-hoc signature and are not notarized, so macOS may require using Open from the app's context menu on first launch.
Release builds do not include a shared Spotify Client ID. Each person configures
their own Spotify developer app on first launch. The logo attribution is in
THIRD_PARTY_NOTICES.md.
Hacker News (1)
57 commits
Rust
88.6%
HTML
6.8%
Python
2.7%
Shell
1.9%