Floatify is a desktop app (built with Electron + Node.js) that shows real-time lyrics and Spotify track info in a floating overlay on your screen.
Think “Picture-in-Picture,” but for music. Perfect for multitasking, karaoke, or just vibing while you code.
- 🪟 Floating Overlay – A movable, resizable window that stays on top of other apps.
- 🎧 Spotify Integration – Displays the currently playing song with live updates.
- 🔁 Auto Token Refresh – Keeps your Spotify access active without re-authenticating.
- 🧩 Transparent Mode – Adjustable opacity for distraction-free multitasking (coming soon).
- ⏯️ Playback Controls – Basic play/pause/skip buttons (coming soon).
| Layer | Technology |
|---|---|
| Desktop Shell | Electron |
| Backend Auth | Express |
| API | Spotify Web API |
| Frontend | HTML, CSS, JavaScript |
| Token Handling | Node.js + dotenv |
git clone https://github.com/niveaaa/Floatify.git
cd Floatifynpm installGo to Spotify Developer Dashboard
→ Create a new app → Add a redirect URI: http://127.0.0.1:8888/callback
Then copy your Client ID and Client Secret into a .env file in the project root:
SPOTIFY_CLIENT_ID=your_client_id_here
SPOTIFY_CLIENT_SECRET=your_client_secret_herenode authServer.jsIt will open Spotify’s login page. Once you log in, the terminal will print your access and refresh tokens, and a local server will start at: http://127.0.0.1:8888
In another terminal:
npm run devor
npm startFloatify will open a small window showing your current playing track from Spotify.
The server automatically refreshes your Spotify token every 55 minutes. Electron periodically fetches the latest token from: http://127.0.0.1:8888/token
Floatify/
│
├── authServer.js # Handles Spotify authentication + token refresh
├── main.cjs # Electron main process
├── preload.js # Safe IPC bridge
├── renderer.js # Frontend logic
├── index.html # UI layout
├── .env # Spotify credentials
└── package.jsonFloatify by niveaaa
Built for music nerds who multitask too much.
This project uses the Spotify Web API for personal/non-commercial purposes. You must comply with Spotify’s Developer Terms.