macOS App · Open Source

Spotti

Spotify, but it's actually a Mac app. SwiftUI on top, Rust underneath.

[download for mac ↗] [view on github ↗]
// the problem

The official Spotify desktop app is an Electron web wrapper. It's heavy, it doesn't feel like macOS, and it ignores the menu bar, Spotlight and Shortcuts.

Spotti rebuilds the client natively and still works as a normal Spotify Connect device alongside your phone.

// two languages, one c abi
[SwiftUI] → C ABI → [Rust core] → librespot · Web API · Last.fm
[Rust core] → JSON events → main queue → [@Published state]
spotti-core Rust staticlib: librespot session, player, Web API, Last.fm, media controls
ffi 50 extern "C" functions, cbindgen-generated header, JSON event callback
SpottiApp SwiftUI app: views, theme engine, intents, Spotlight, notifications
// a real connect device

librespot's Spirc owns all playback state, so your Mac appears as "Spotti" on your phone and every other device. You get 320 kbps gapless playback through CoreAudio, and one tokio::select! loop handles everything.

// its own recommendation engine

Spotify deprecated its recommendations endpoint, so Spotti built its own. It gathers candidates from Last.fm and ranks them with a blend of tag overlap and 5-D audio-feature distance. Smart Mix seeds itself from your recent listening.

// liquid glass that follows the album art

macOS 26 glass across the whole UI, tinted from the album art. Each cover is shrunk to 40×40 and sorted into 12 hue buckets weighted by saturation, giving a dominant and an accent colour.

// properly native

Media keys and Now Playing in Control Center, a menu bar player, a floating mini player, Siri Shortcuts via App Intents, and Spotlight search for your playlists and liked songs.

// keeps going

Shows and controls your other devices, can "continue here" from any of them, and when the session drops it re-authenticates and rebuilds the player on its own.

// shipping
requires: macOS 26 · Apple Silicon · Spotify Premium
release: Signed + notarized DMG, built by GitHub Actions on tag push
license: GPL-3.0
[swift][swiftui][liquid-glass][rust][tokio][librespot][spotify-connect][c-ffi][cbindgen][oauth-pkce][last.fm][coreaudio]
← back to projects