Wiki Architecture

Architecture

The entire Piped Music project consists of two main parts: a web client and music backends.

To use the client, at least one music backend is required for the client to load data.

Web Client

The Piped Music web client is a web application built using the NuxtJS framework.

All user data, such as favorite tracks, playlists, and settings, is stored locally in IndexedDB and localStorage in the web browser. Data can be imported and exported in JSON format on the settings page.

Backends

Music backends are used for searching tracks, retrieving their metadata, and streaming or downloading them.

Currently, there are two available backends:

  • pm-ytm - backend for YouTube Music
  • pm-ytm-rs - experimental backend for YouTube Music written in Rust

Backends for additional services, including a local backend, are in development.