📈 GH Trending Explorer 🎲 Surprise me

← all repos

swiftify-org / swiftify

git clone https://github.com/swiftify-org/swiftify.git v0.17.1 · 2d ago

A Spotify player for the desktop, built with Qt Quick and a Rust core around librespot

+5
stars, 24h · #2,679
+~35
stars, 7 days · #3,323
+140
stars, 30 days · #3,743
149
★ total · +33% this week
29
forks · 9 open issues

Star history (as recorded here)

2026-10-20 · 135 ★ 2026-10-22 · 149 ★
LanguageC++
License—
Created2026-10-11 (10d ago)
Last pushtoday
Watchers4
OwnerOrganization

Links

README excerpt
# Swiftify
a spotify player for desktop, built with Qt Quick on top of a Rust core that
wraps librespot. it follows
Material 3 Expressive (heavy inspo from end4) and has an immersive player,
synced lyrics, visualizers, an equalizer, and local files with local playlists
where u can edit the tracks metadata.
this apps purpose is to replace spotifys heavy webview client, but its also mostly eyecandy lol
it runs significantly lighter than the spotify client.
**EVEN WITH THE EYECANDY TURNED ON....** it is lighter than spotify + spotifys renderers both on cpu AND ram!!!!!
id recommend turning the visualizers and background off if the app runs in the background tho lol
***anyways runs on linux (made for wayland and hyprland) macos, and windows.***
## previews
first image shows equalizer, tempo and pitch settings. second picture shows how the immersive player and the visualizer/lyrics look
> ### Note
> i will probably not be maintaining it, if you are interested in taking over this project you can send me an email
- Before you start
- Prebuilt builds
- Building from source
 - Build requirements
 - macOS
 - Linux
 - Windows
- Stats
- Command line
## Before you start
- **spotify premium.** playback goes through librespot, and that only works with premium.
- **a spotify client id.** your library, playlists and search come from the spotify
 web api through your own developer app. the first launch walks u through it:
 make an app in the spotify developer dashboard,
 add `http://127.0.0.1:8898/login` as a redirect uri, and paste the apps client id
 into swiftify. you dont need the client secret.
## Tutorials
### "spotify could not load this track" (soloist)
spotify refuses librespot the keys to decrypt songs on newer accounts (librespot's
logs say `error audio key 0 1`), so every song fails. on linux swiftify can play
spotify's songs through spotify soloist
instead, spotify's own connect client, which isnt affected.
1. install soloist from its getting started guide
 (`~/.local/bin/soloist` is fine)
2. make a soloist api key in the developer dashboard
 and put it in `~/.config/soloist/api-key` (or `SOLOIST_API_KEY`)
3. start swiftify. it starts soloist itself, as a connect device called "Swiftify".
 the first time, pick "Swiftify" once in the devices list of the spotify desktop app on
 the same computer (or the phone app), so soloist is signed in
4. press play in swiftify
with soloist, swiftify makes a sink called "Swiftify (Soloist)" for soloist to play into,
and plays that on through its own output, so the equalizer and the visualizers still work.
this needs pipewire, under pulseaudio alone soloist plays straight to the speakers.
`SWIFTIFY_SOLOIST_ROUTE=off` does that on purpose. tempo and pitch only work on your own
music files, and crossfade waits for each song to end. soloist builds expire after 90 days,
download a new one when it says so.
`SWIFTIFY_PLAYBACK=librespot swiftify` goes back to librespot alone.
if spotify on your phone doesnt list "Swiftify" f