Now Playing

LIVE

Loading current track…

Recent Tracks

Loading recent tracks…

Your Spotify

About this app

Track data comes from the BBC's own Radio & Music API, fetched server-side by this site's /api/nowplaying function. Matching and playlist writes happen in your browser against the Spotify Web API, using your own account.

Setup instructions

1. BBC data

Nothing to configure. The BBC's API only answers requests from its own origins, so this site fetches it server-side in a Cloudflare Pages Function and hands your browser a normalised feed. Deploy the repo and it works.

2. Create a Spotify app

  1. Go to developer.spotify.com/dashboard and create an app.
  2. Under Redirect URIs, add exactly: this page's URL
  3. Tick the Web API box, then save.
  4. Copy the Client ID into the box on this page. You do not need the client secret.

The client ID is a public identifier and is safe to share. The client secret is not, and this app never asks for it — it uses the PKCE flow, which is designed for apps that run entirely in the browser.

3. Connect and choose a playlist

Press Connect to Spotify and approve access. Pick any playlist you own or collaborate on from the dropdown, and Add buttons will appear next to every matched track. Your choice is remembered in this browser.

4. Track history (optional)

The BBC only ever returns tracks for the programme currently on air. To keep a history that survives a programme change or a closed tab, deploy the collector Worker and a D1 database — see README.md. A search box appears above Recent Tracks once one is connected.

Without it the app still works; it just keeps its own shorter log in this browser.

5. What is stored

Your Spotify tokens, playlist choice and recent-track history are kept in this browser's local storage and are never sent anywhere except Spotify. Pressing Disconnect removes the tokens; Clear local history removes the track log.