skip to content
rohan singh
← all projects

finished for now · may 2025 - jul 2026

Signal

Signal helps me get from one song I love to music worth playing next. Search the live Spotify catalog, follow releases and collaborators, or connect an invited account for deeper cuts from artists already in rotation.

what I wanted

The best recommendations usually start with one song I cannot stop playing. I built Signal to give me a few honest paths outward instead of another generic playlist or a score that does not mean anything.

what I built

The live app searches Spotify's real catalog. Pick any song and Signal pulls from that artist's releases, follows the collaborators it finds there, and brings back tracks with real artwork, album details, release dates, and direct Spotify links. Public search works without an account.

Signal building a real mix from Spotify releases and artist connections

Signal walks through the seed artists' albums and singles, looks for recurring collaborators, and follows a few of those connections into their catalogs. It removes duplicates and versions that would make the list worse, then keeps one album or artist from taking over the result.

Every card says why it appeared. Those reasons come from real catalog relationships. The interface does not show a made-up similarity percentage or pretend Spotify exposes an audio match that the current API cannot provide.

what was difficult

Signal began as a Python audio-feature ranking prototype. Spotify later removed access to several recommendation and analysis endpoints for most new apps, so I rebuilt the live product around catalog search, releases, top tracks, and real artist connections.

The current product is a Next.js and TypeScript app. Spotify credentials stay on the server, account sessions use encrypted cookies, OAuth state is checked on callback, expired tokens can refresh, and public endpoints have basic rate limits. The browser only receives the track details it needs.

what works now

Anyone can search the real Spotify catalog, choose a song, and get a mix built from releases and artist connections. Each result includes real artwork, metadata, a plain reason, and a Spotify link.

Spotify login is optional. Invited listeners can connect an account for a deeper-cuts mix based on artists already in rotation. Spotify currently limits new development apps to five invited listeners, but the public song-based mix works for everyone.

The original Python work is still in the repository, but the Spotify-backed web app is now the project I want people to use.