Spotify Desk Thing

screenshot of Spotify Desk Thing
solid
vite
unocss

A rewrite of the Spotify Car Thing now playing interface for Raspberry Pi.

Overview

If you're looking for a unique way to control your Spotify music experience, the UISpotify Desk Thing might just be what you need. This web-based application emulates the Spotify Car Thing's interface, allowing users to harness the power of the Spotify API without the fuss of Bluetooth connectivity. With a focus on simplicity and efficiency, this tool is perfect for those who love streaming music on the go, especially if you have a Raspberry Pi 3A and a Hyperpixel 4 Square Touch display.

The UISpotify Desk Thing is built using SolidJS and provides a robust now playing screen alongside essential playback functionality. As the app develops further, additional features are planned to enhance user experience, making this a promising option for any Spotify enthusiast.

Features

  • Web-Based Control: Operate Spotify through a web interface, eliminating the need for Bluetooth pairing between devices.
  • Raspberry Pi Compatibility: Designed to work seamlessly with Raspberry Pi 3A, making it an excellent DIY project for tech lovers.
  • OAuth Authentication: Simple setup process with easy authentication via the Spotify Developer API.
  • Responsive UI: The now playing screen is user-friendly, ensuring you can control your music without hassle.
  • Future Functionality: The app is in active development, with plans for custom podcast controls and enhanced playback scenarios.
  • Docker Support: Includes a Dockerfile for easy deployment in various environments, perfect for self-hosting setups.
  • SolidJS Framework: Built with modern web technologies for a smooth and efficient performance.
solid
Solid

SolidJS is a declarative JavaScript library for building user interfaces, offering a reactive programming model for efficient updates. It stands out for its reactivity system that minimizes unnecessary re-renders and its small bundle size, making it a performant choice for developing lightweight and reactive web applications.

vite
Vite

Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects

unocss
UnoCSS

UnoCSS is an instant, on-demand atomic CSS engine that generates utility classes at build time. It's highly customizable, extremely fast, and compatible with Tailwind CSS utilities while offering additional features like attributify mode and pure CSS icons.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.

zod
Zod

Zod is a TypeScript-first schema declaration and validation library. It allows you to define schemas that can validate data at runtime while providing excellent TypeScript inference, making it perfect for API validation, form validation, and type-safe data handling.