Spotify Pi Thing
Raspberry Pi, Python 3, FastAPI, Spotipy, HTML/CSS/JS
A standalone Raspberry Pi Spotify controller that acts like a small in-car console. Everything runs locally on the device, providing a touch-optimized UI in a fullscreen browser.
Architecture & Backend
The Raspberry Pi runs a Python backend using FastAPI and Spotipy to serve a REST API and handle Spotify OAuth endpoints. It saves token caches persistently to allow the device to reconnect autonomously after a reboot.
Frontend
The UI is a vanilla HTML/CSS/JS single-page application tailored for 3.5"-5" touchscreen displays. It polls the backend API for "now-playing" states every 3 seconds to update the UI on the fly without a build step.
Deployment
The project is set up with fully automated deployment scripts (systemd via shell script) that launch the backend immediately at system boot, and autostarts Chromium into a fullscreen kiosk mode as soon as the desktop environment is loaded.