Introduction

Everything you need to know about Soundie's APIs, themes, and plugin system.

What is Soundie?

Soundie is a free desktop music player built with Tauri 2 (Rust) and React. It unifies multiple music sources — YouTube, local files, SoundCloud, and more — into a single glassmorphic interface.

Beyond listening, Soundie exposes a full REST API and WebSocket RPC server on localhost, enabling integration with OBS, Stream Deck, Discord, and custom tooling. A CSS-variable-based theme engine and plugin system make it extensible at every layer.

Installation

Soundie is available for Windows and Linux (x64). Download the latest release from the downloads page. macOS and Android support is coming in future releases.

See the Installation guide for system requirements and first-run setup.

Architecture

Soundie is structured as a Turborepo monorepo:

project structure
text
1soundie/
2├── apps/
3│ └── desktop/ # Tauri 2 app (Rust + React)
4│ ├── src/ # React frontend
5│ │ ├── layout/ # Shell, sidebar, player bar
6│ │ ├── pages/ # Route pages
7│ │ ├── features/ # Theme editor, etc.
8│ │ └── stores/ # Zustand state
9│ └── src-tauri/ # Rust backend
10│ └── src/
11│ ├── commands/ # Tauri IPC commands
12│ └── lib.rs # App setup + RPC server
13├── packages/
14│ └── theme-engine/ # CSS theme system
15└── crates/
16 ├── soundie-db/ # SQLite + migrations
17 └── soundie-providers/ # Music source adapters

Local API Server

When Soundie is running, it starts a local server at http://127.0.0.1:45289 that exposes:

  • REST endpointsGET/POST for player state, queue, library
  • WebSocketReal-time events and JSON-RPC commands
  • Static assetsArtwork proxy for local files