Skip to content

sabsimilian/CoverArtDisplay

Repository files navigation

Spotify Cover Art Display

Latest Release License: MIT Platforms

A desktop app that turns a screen into a live display of whatever's currently playing on Spotify — full album art, fullscreen or windowed, a small widget mode, ambient idle-mode slideshows when nothing's playing, and hover-to-reveal playback controls.

Built with Tauri v2, SvelteKit (Svelte 5), and Tailwind CSS v4.

Now playing, fullscreen

Contents

A dedicated ambient display

This is the primary intended use case: an old monitor, a Raspberry Pi, and this app turned into a small always-on cover art display sitting on a desk or shelf — no PC required once it's set up.

A repurposed monitor mounted next to a music studio setup, running the app on a Raspberry Pi as a dedicated ambient display

It works just as well as a normal desktop app on Windows or Linux, but this — a spare screen and a cheap Pi, permanently showing whatever's playing — is what it's actually built for.

Features

Now Playing Full-bleed cover art with track/artist/album, long text scrolls once so it can be read in full, and a live progress bar tracking playback position.

Widget Mode A small window for keeping the current cover art visible while doing other things — remembers its own size and position across restarts.

Widget mode floating on the desktop

Playback Controls Hover over the cover art to darken/blur it and reveal Back / Play-Pause / Forward — works in Now Playing, every idle mode, and widget mode. Can be turned off entirely in settings.

Playback controls on hover

Idle Modes When nothing's playing, the app doesn't just sit blank — pick one:

  • Video Art — loops your own ambient video files/URLs as a background
  • Library Covers — shuffles through album covers from your Liked Songs
  • Picture Frame — slideshow of your own photos, with an optional black & white filter

An optional ambient clock can overlay any idle mode.

Video Art idle mode with the ambient clock

Deep customization Accent color, metadata background style (solid color / color extracted from the cover / the cover art itself, blurred and extended), transparency, text color and opacity, font, and more — all through an in-app settings window. Also available as a standalone popup window when running in Widget Mode.

App Settings tab

Idle Modes settings Video Manager settings

Remembers itself Window position, size, and whether it was in widget mode all persist across restarts (and survive a full PC reboot, not just closing the app). Login persists too — sign in once.

App menu: fullscreen, minimize, widget mode, settings, logout

Download

Grab the latest build for your platform from the Releases page.

Platform File Notes
Windows *_x64-setup.exe Just run it
Linux — Ubuntu / Debian / Pop!_OS / Mint *_amd64.deb sudo apt install ./file.deb, or double-click in most file managers
Linux — Fedora / openSUSE *.x86_64.rpm sudo dnf install ./file.rpm or sudo zypper install ./file.rpm
Linux — any distro *_amd64.AppImage No installation: chmod +x, then run
Raspberry Pi (64-bit OS, Pi 3/4/5) *_arm64.deb / *.aarch64.rpm / *_aarch64.AppImage Same as above, ARM64 build

First-time setup

  1. Install and launch the app.
  2. Click Connect to Spotify on the login screen — this opens Spotify's own authorization page in your browser.
  3. Approve access, and you're back in the app, signed in for good (no need to log in again on future launches).
  4. Play something on any Spotify device (phone, desktop, web) — the cover art shows up automatically.
  5. Open the gear menu (top-right corner) for Settings, Widget Mode, Fullscreen, and Logout.

A Spotify account is required to sign in. Playback control (play/pause/skip) requires Spotify Premium, per Spotify's own API restrictions — reading what's currently playing works on any account.

Known issues

  • Linux: the "Transparent" background option for the metadata area doesn't currently produce the intended effect. It's one optional visual setting — everything else works normally. A fix is planned.

Found something else? Please open an issue.

Building from source

Requires Rust and Node.js 18+. On Linux, also libwebkit2gtk-4.1-dev, libgtk-3-dev, libayatana-appindicator3-dev, librsvg2-dev, and patchelf.

npm install
npm run tauri build

Bundled installers land in src-tauri/target/release/bundle/.

Raspberry Pi: cross-compiling a Tauri app for ARM is unreliable due to native WebKitGTK bindings — build directly on the Pi itself. See docs/BUILD_RASPBERRY_PI.md for exact steps.

Tech stack

  • Tauri v2 (Rust backend, native webview)
  • SvelteKit with Svelte 5 runes
  • Tailwind CSS v4
  • Spotify Web API via OAuth Authorization Code with PKCE (no client secret required)

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors