All projects

Spotify Pi Thing

A standalone Raspberry Pi Spotify controller with a touch-optimized interface, persistent authentication, and automatic kiosk startup.

HARDWARE / LOCAL-FIRST INTERFACE

A little player for the desk

Live status
PI / AUDIOSPOTIFY

Checking listening status

Your listening, here.

Nothing playing right now.

Status shows what Karan is listening to, refreshed every 10 seconds; it is not an audio broadcast. “Listen to this track” loads Spotify’s official player only when requested. Playback depends on Spotify and the listener’s account.

Checking the Spotify connection…

Playback refresh
3s
Touchscreen size
3.5–5″

About this project

Built a standalone Raspberry Pi Spotify controller that acts like a small in-car console. Everything runs locally on the device, with a touch-optimized interface in a fullscreen browser.

The Python backend uses FastAPI and Spotipy to serve a REST API and handle Spotify OAuth. Persistent token caching allows the device to reconnect independently after a reboot.

The vanilla HTML, CSS, and JavaScript frontend is designed for 3.5–5 inch touchscreens and polls the backend every three seconds for playback updates. Automated systemd deployment scripts start the backend at boot, then launch Chromium in kiosk mode.

How it works

  1. SPOTIFY APIOAuth + playback
  2. FASTAPI + SPOTIPYRaspberry Pi backend
  3. TOUCH DISPLAYChromium kiosk

Built with

  • Raspberry Pi
  • Python
  • FastAPI
  • Spotipy
  • HTML
  • CSS
  • JavaScript