Skip to main content
Privacy-first desktop runtime

Your music stays local.
Your account stays connected.

Install the full SPICE player on your PC for playback and media services. Keep this lightweight cloud portal for accounts, setup, sync, and release updates.

  • Local media playback
  • Thin cloud account layer
  • Sync stays optional
Cloud account

Manage sync without opening the player

Sign in, update your profile, and check account status here. Your media services stay on your computer.

Sign in or create an account to manage sync, profile links, and cloud-only account settings.

Cloud account scope

Accounts stay online. Media stays local.

Use this hosted tab for sign-in, username, subscription status, changelog access, and admin entry. Open the local runtime for playback and provider work.

Under the hoodTechnical runtime details
Operating model

What stays online and what moved home

Required

Local PC runtime

Media search, scraping, stream extraction, lyrics, proxying, playback UI

Thin control plane

Vercel cloud portal

Auth, sync routing, metadata, feedback, install page, update manifest

Cloud only

Cloud database

Accounts, profiles, sync state, operator-only admin data

http://127.0.0.1:3939https://music.spice-app.xyzhttps://install.spice-app.xyz
Feature ledger

What had to change for local mode

Removed from Vercel

Hosted web media scraping

Provider scraping and stream extraction are heavy, brittle serverless work.

Local runtime routes under /api/local/* on 127.0.0.1:3939.
Replaced

Direct hosted SPICE Music player

The hosted page is now the cloud control plane, not the heavy media runtime.

Install or open the local PC runtime; hosted builds use /api/* and local builds proxy cloud calls through /api/cloud/*.
Hidden and frozen

Home, Anime, Movie navigation inside the local app

The active product focus is local SPICE Music plus cloud account services.

Source history stays intact; shelved routes show frozen placeholders.
Shelved

Spice Anime and Spice Movie starter surfaces

Those services would add cloud and provider load while the local split stabilizes.

Kept in source, removed from active discovery and launch flows.
Retired

Raw provider API strings in the client

Runtime routing must be explicit so local-only work cannot drift back to Vercel.

A single client API helper chooses hosted /api/*, local media /api/local/*, or the local cloud proxy /api/cloud/*.
Replaced

Local JSON feedback writes

Vercel functions cannot depend on writable local files.

Feedback uses private cloud handling when configured, with log-only fallback.
Blocked

Cloud database code and secrets in local ZIPs

Local installs must not ship database credentials, database clients, or migrations.

Database env stays in Vercel; package scans verify the local bundle.
QoL and integrations

What stays, what gets throttled, and what stays removed

Keep local-first

Local install and update manager

Install, update, start, and open-local actions should be easy for users without adding serverless load.

Use the public update manifest and run all install/update work on the user PC.
Keep local-first

Floating mini player, queue polish, themes, and local profile UX

These are mostly UI or local-storage conveniences and do not pressure Vercel or the cloud database during normal local playback.

Keep them inside the local runtime unless the user explicitly signs in or syncs.
Keep opt-in

Last.fm and ListenBrainz profile sync

They are profile update integrations, not playable search providers, and failures should never block playback.

Send only now-playing and scrobble-threshold writes; keep provider credentials in cloud env or account storage.
Keep cost-gated

Spice Connect remote device control

Same-account remote control is useful, but it uses cloud device state and queued commands.

Use stale-command expiry, polling backoff, same-account checks, and emergency austerity controls if traffic spikes.
Keep account-backed

Shared playlists and notification requests

Collaboration is a real account feature, but it should not be required for local-only playback.

Batch database reads, avoid polling storms, and sync only for signed-in users.
Limit and monitor

Listen Together sessions

Realtime session state is heavier than normal sync and can create avoidable cloud/database churn.

Keep sessions opt-in, clean up inactive listeners quickly, and pause this lane first during cost emergencies.
Keep removed

Discord Rich Presence backend route

The backend RPC path was scrapped and does not belong in the Vercel control plane.

If it returns, implement it as Electron or local-runtime-only desktop integration with no cloud API path.