Music Convergence
A curated tile map of musical lineage — click an artist to start listening, follow the connections to the next.
The problem
Spotify’s “fans also like” is a black box. Last.fm’s similar-artists list is flat. Neither tells you why two artists are connected — was it a producer, a sample, a label, a scene, a shared session player? I wanted to see a curated map of the connections I actually care about, and I wanted the map to be a listening device at the same time.
The approach
Music Convergence lays out every artist in the library as a colored tile in a searchable grid — 500+ hand-curated entries, tile colors hashed per artist so the same name always gets the same swatch. Underneath the grid is a typed-connection graph: influence, collaboration, genre-birth, genre-bridge, personal, and temporal edges link artists to each other, each type with its own color and its own editorial “why” when you click into a node.
The top nav switches between three modes. Explore is the grid above — scan, search, click. Listen opens a focused listening room for the currently selected artist. Follow pairs with Spotify now-playing so that whatever you’re actually listening to through Spotify auto-navigates the map — a passive mode for when you want the app to trail behind your listening instead of the other way around.
How it works
React 19 + Vite for the frontend. Zustand holds two stores — one for graph/selection state, one for the Spotify companion. A Hono-powered Cloudflare Worker acts as a thin proxy between the client and a Supabase catalog of artists and connections, which I curate by hand when I find a link worth including. Spotify now-playing comes in via the Web API with a short-lived access token; the follow-mode effect listens for track changes and fuzzy-matches the artist name against the catalog before re-selecting the node.
Results
- 500+ artists hand-curated with typed connections — not an algorithmic embedding
- Editorial “why” on every connection — influence, collaboration, genre-birth, and more
- Spotify Follow mode turns the map into an ambient companion that trails your listening
- Keyboard-first —
/focuses search, Escape clears it