JewelCase is an open-source 3D desktop widget: a transparent CD jewel case holding the disc of the album playing on Spotify, with real refraction of your wallpaper.
A physically simulated object with real measurements (case 142 × 125 × 10.4 mm, CD Ø 120 mm) that lives on your desktop and changes album when your music changes.
Custom shader with Beer-Lambert absorption, total internal reflection and Fresnel. Procedural scratches that only catch light when they reflect it.
Looks up the real disc photo on MusicBrainz / Cover Art Archive, Discogs, TheAudioDB and Fanart.tv. If none is found, it generates a screen-print style disc from the cover's palette.
The disc throws rainbows from a 1.6 µm track pitch (orders 1 to 3), with marks that rotate with it.
The case bends whatever is behind it, live. The window is transparent and lets clicks through everywhere outside the object.
Open the lid, look at the track list and tap a row to play it (Spotify Premium).
Only draws when something changes, lowers its frame rate at rest and pauses when a full-screen app is running.
Download the file for your system from the latest release. No account or extra installs needed.
| System | File | Status |
|---|---|---|
| Windows 10/11 (x64) | .msi or -setup.exe | Full All features. Requires WebView2 (already included in Windows 11). |
| Linux (x64) | .AppImage, .deb, .rpm | Experimental No live desktop refraction and no instant Spotify detection. On Wayland, dynamic click-through may not work; X11 is recommended. |
| macOS (Apple Silicon) | .dmg | Experimental Same as Linux. Unsigned: right-click → Open the first time. |
Windows may show SmartScreen because the installer is not signed: «More info → Run anyway».
Drag: rotate · Click: lid · Alt+drag: move · Click a track row: play.
Settings, Reposition, Reload artwork, Quit.
Fanart.tv and Discogs improve disc lookup. Without them it still works with MusicBrainz and TheAudioDB.
Uses your own Client ID (PKCE authentication, no secrets). Setup takes about two minutes. Playing a track by tapping its row requires Premium.
http://127.0.0.1:47862/callbackThe session token is stored in the system's secure store (Credential Manager on Windows). On Windows, JewelCase also detects track changes instantly without signing in.
You need Node LTS and stable Rust. On Windows, Visual Studio Build Tools with «Desktop development with C++». On Linux: libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libssl-dev libdbus-1-dev.
git clone https://github.com/XradX314/jewelcase.git
cd jewelcase
npm install
npm run tauri dev # development
npm run tauri build # builds the installers
src/render/jewelcase.ts is generated: to change the rendering, edit tools/render/*.part.ts or build.mjs and run npm run render. The visual reference is demo.html.
Stack: Tauri 2 (Rust) · Vite · TypeScript · Three.js 0.158.