Ranking transparency
Auto Discovery, similar tracks
Last updated: 19 May 2026
The player has a small infinity-loop button next to the Previous control. When that button is on and the queue you started with runs out at the end of a track, the player automatically extends the queue with other tracks the platform thinks are stylistically close. This page is the full disclosure of how those continuation tracks are picked.
1. Main parameters
Two seeds are read at the moment the queue empties: the artist of the track you started this listening session with (your “initial queue artist”), and the Creative-Credits tags on the track that just finished. From those, the platform builds the continuation set in two ordered stages.
Stage 1 - same artist. The platform looks for published, listed releases by the initial queue artist that you have not yet heard in this session (the player builds the list of already-heard tracks in your browser and sends it along with each continuation request, so the platform can skip what you have already listened to) and appends those tracks to the queue first. If the initial artist has nothing left to surface, stage 1 produces nothing and stage 2 takes over.
Stage 2 - shared tags. The platform looks at the Creative-Credits tags on the track that just finished (those are the small descriptors attached to each track at upload time, like “synth-bass,” “female-vocals,” “analog-warmth,” etc.) and picks public tracks that share the most tags with it. Tracks already in your listening history are excluded so the player doesn't loop on the same track. The selection is then ordered purely by tag-overlap count - more shared tags ranks higher.
A continuation batch contains at most ten tracks. The player plays the first one and queues the rest. If the queue empties again, another batch is requested with the same rules.
Continuation tracks are filtered to ones you can fully play (either a release you have purchased or a track the artist marked as free-play). See section 3 for the distinction between this eligibility filter and the ranking that orders the eligible set.
2. Why this criterion
When a listener starts a release and lets it play through, the most likely thing they wanted next is more of the same artist - so stage 1 honors that. Once the artist is exhausted, the next-most-honest signal is what the listener was actually listening to a second ago: the tags on the just-played track describe its sonic identity, and matching those tags keeps the continuation faithful to the listening context the listener built.
Crucially, this ranking does not read your account history, your follow graph, your listening history outside the current session, or anything else tied to who you are as a listener. The same seed (initial artist + just-played tags) produces the same ordering for every listener whose eligibility set is the same. This is a contextual ranking, not a personalised feed. We do not run a personalised feed on SynthCamp.
One per-viewer signal IS read, and it is read for eligibility, not for ranking: whether you can fully play a given continuation track (because you own its release or the artist enabled free-play on it). This is a filter applied before ranking, not a re-ordering of the eligible set, and we keep these two roles strictly separate. See section 3.
3. Relative importance of inputs
Stage 1 (same artist) is a strict priority: if the initial artist has any unheard track left, it ships before any tag-similarity candidate. Stage 2 (shared tags) only fires when stage 1 has nothing left.
Within stage 2, the only ranking signal is the count of tags shared with the just-played track. There is no genre boost, no follower-count boost, no novelty adjustment, no per-viewer personalisation, no paid placement. Ties are broken by the more recently-published track winning.
A candidate that wins on tag-overlap can still be dropped before it reaches the queue if the artist has not completed Stripe onboarding (the play would surface a track that is not actually purchasable downstream), if the release has been flagged for conformity review, if the track has not finished encoding yet, or if the release has been administratively locked. These are operational eligibility gates, not ranking signals. They apply uniformly to every listener.
Playability eligibility (per-viewer). One more filter narrows the eligible set before ranking runs: we keep only continuation tracks you can fully play. A track passes this filter if you have purchased its release OR if the artist has enabled free-play on it. We read your purchase history for this filter and nothing else. The inclusion / exclusion decision per track is binary, and the ranking that orders the surviving set is identical to what any other listener with the same eligible set would see. Two listeners with the same seed may therefore see continuation batches of different sizes (depending on what each owns), but the ORDER of tracks within each one's eligible set is the same. This is how we reconcile playable-UX with the no-personalised-feed commitment.
4. Your options
Auto Discovery is on by default for signed-in listeners. You can turn it off (and back on) at any time via the infinity-loop button in the player, next to the Previous control. When the button is off, the queue ends when it ends and nothing is appended. Your choice is remembered in this browser via its local storage so an opt-out sticks across sessions. Clearing your site data clears the preference and the next session falls back to the on-by-default behavior. The setting is per-browser, not per-account: if you sign in from a different browser or machine, the on-by-default state applies there until you change it.
You can also use the Next button (or its keyboard shortcut, Shift+N) to skip any track that Auto Discovery added if it turns out you did not want it. Skipping does not affect subsequent continuation batches. The platform never remembers what you skip and never adapts to it (that would be personalisation, which we do not do).
Auto Discovery is only available to signed-in listeners. The playability eligibility filter described in section 3 relies on knowing what you own and is not meaningful for anonymous visits, so anon visitors receive an empty continuation set and the player simply stops at end of queue.
Update cadence
The continuation set is recomputed on each request, with no cache. The player issues a request when the queue is down to its last item (so the next batch is ready before the track ends), and again any time Auto Discovery is toggled on while the player is on its last track. A track newly published by the initial queue artist appears in stage 1 on the very next continuation request after publication.
Back to the ranking transparency index.