Skip to content
ilfpnsPublic

About

Spotify 스트리밍 Pet 서비스

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SpotI

한국어 · 中文 · 日本語

A tiny always-on-top desktop companion — styled as an LP half-slid out of its case — that sits on your desktop and controls Spotify playback. Drag it anywhere; hover it to see what's playing and control playback.

Features

  • Draggable desktop pet, click-through everywhere except its own artwork
  • Hover popup: album art, track/artist, play/pause/next/prev, seekable progress bar, volume
  • Spotify login via PKCE (your own Client ID — no shared secret), configured right in the app
  • Global media-key support (play/pause/next/previous)
  • Settings window
    • General — language, volume, opacity, launch at startup, pet size, track-change notifications (with sound), sync speed, popup dismiss delay, disc spin animation, media keys, start hidden, reset to defaults
    • Theme — light/dark mode, font color, LP color, case color, border on/off + border color
    • History — a full-year listening heatmap, streaks, and the most-played track per day
    • Spotify — Client ID setup, connection status, version info
  • Korean, English, Chinese, and Japanese UI

Setup

  1. npm install
  2. npm start (or npm run dev) to launch SpotI
  3. Create your own Spotify app at https://developer.spotify.com/dashboard, click Create app, and set the Redirect URI to exactly:
    http://127.0.0.1:8765/callback
    
  4. In SpotI, right-click the pet → Settings → Spotify, paste your app's Client ID, and click Save.
  5. Hover the pet and click Connect Spotify.

That's it — no config files to hand-edit. (Advanced/dev users can instead set a SPOTIFY_CLIENT_ID environment variable, which takes priority.)

Building a distributable

npm run dist builds both, in release/:

  • SpotI-<version>-nsis.exe — a normal Windows installer (Start Menu shortcut, uninstaller).
  • SpotI-<version>-portable.exe — a single self-contained .exe, no install step, no admin rights, just double-click and run.

Windows: "Cannot create symbolic link" during npm run dist? electron-builder needs permission to create symbolic links while extracting one of its own bundled tools. Turn on Settings → Privacy & security → For developers → Developer Mode, then run npm run dist again — this is a one-time fix.

Each person who runs the built app configures their own Client ID from Settings (step 4 above) — nothing Spotify-related is baked into the build.

Notes

  • Playback control (play/pause/next/previous, seeking, volume) requires Spotify Premium and an already-active Spotify Connect device (desktop app, phone, or web player open somewhere).

Stack

Electron + TypeScript, built with electron-vite. No UI framework — vanilla DOM. Tests with vitest (npm test).

About

Spotify 스트리밍 Pet 서비스

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages