Zubin Deepak Rajasekar
Back to home page

fewknew

Category

In daily use

Year

2026

A music discovery engine I built for myself and use every day. It reads specialist radio and small press, and returns tracks with the writing that named them.

Embed and retrieve the passages, not the track names. Every result cites verbatim source prose, resolves to a playable ID, and comes from editorial writing rather than a shop listing.

Context

Music discovery runs on catalogue metadata and listening behaviour. Both miss the layer that matters: what circulates through specialist radio, zines and small press before it reaches a chart.

The signal there is not a track name, it is prose. A sentence like the bass is mixed so far down it registers as pressure rather than pitch is a recommendation, and no recommender can use it.

The thinking

Embed and retrieve the passages, not the track names. Every result cites verbatim source prose, resolves to a playable ID, and comes from editorial writing rather than a shop listing.

Four rules, enforced in code rather than by convention: no padding, verbatim or drop, thin is valid, and the wait is the proof.

A settled fewknew sheet: tracks with the passage and publication that named each one
Every result carries the sentence that found it.
fewknew findings with source passages and a note on why the sheet stopped at five tracks
Sources that named an artist without a track did not make the sheet.
fewknew topics index of fifteen surveyed scenes
Counts are what was found, not what was aimed for.

What I built

Intent expansion, angled query rewrite, parallel search, extraction with verbatim substring verification, resolution to a playable ID, diversity caps, streamed as results land and persisted as a permanent dated sheet.

Each sheet draws its own contour map from its own source data, elevation scaled by how many tracks each publication yielded. The peaks are where the findings came from, and because position is hashed from the domain rather than random, a publication sits in the same place on every plate.

The moodboard was full of decorative latitude and longitude. On a product whose whole claim is provenance, invented numbers would quietly contradict it. The typography stayed, applied only to true values.

6BASELINEmediocre relevance0EVIDENCE FILTER23 pages extracted, nothing shipped11RADIO PATHno filter applied at all3RELEVANCE FILTERkept the weakest three
One prompt across four pipeline states: 6, 0, 11, 3.
640 COMPARISONS3 MATCHES · 0.5%
640 comparisons against a competing agent, three matches.

What I measured

Four prompt sets and thirty plus metrics per run, with a rule that every run in a batch completes before any judgement. The last batch was 32 runs across 15 topics for $4.60.

Across three early runs, 33 radio URLs were found by search and discarded before extraction. Radio is the source class the product is premised on. The cause was a rule I had written deliberately, that a passage must describe the track rather than just name it. Tracklists are bare artist and title lines, so they failed universally.

Nothing was failing. The pipeline returned results the whole time, from the wrong half of the web, and it took reading a debug field to see it.

Fixing it took four passes and the middle two made it worse. The root cause sat upstream of all of them: a geography-only prompt compiles to an intent with no sonic terms, so everything scoring against sonic terms degrades unpredictably.

Every run was cross-checked against a competing agent, 640 comparisons, three matches. Read naively that is a failing pipeline. But the oracle returns the canon while this returns what is being written about now. It could not validate because it was not answering the same question.

Architectures compared

Agents were faster to prototype and worse on both axes that matter. Neither can verify that a returned passage appears on the page it is attributed to, and neither enforces a typed exclusion. Not Daniel Bachman, not SUSS is a code-level constraint in the custom pipeline and a polite suggestion to an agent.

ArchitectureMedieval sleepLibrary musicLatencyCost / runVerbatimTyped
Passage pipelineshipped8974–95s$0.07YesYes
Exa Agent2692–100s$0.60NoNo
Perplexity Agent8597–149s$0.05NoNo

Note against my own conclusion

A standalone research agent run late in the project out-retrieved the pipeline 10 tracks to 2, with labels on all ten, and understood a constraint mine had dropped entirely. Its notes were synthesis rather than quotation and six of ten came from one article, so it is not shippable as evidence. The comprehension belongs in the intent compiler. The evidence layer stays.

The limit

Built for one listener and used most days. What it does well is narrow on purpose: it finds records that specialist writing has actually named, and shows you the sentence that named them alongside a link to the page it came from. It will not tell you what is popular. That is the point.

More projects