What a DJ Set Taught Me About Search
Two in the morning, no search box, four seconds to find a record. Why the search in my product is deliberately the stupidest one I could build.
Date
Category
Writer

Two in the morning, third hour, and I am looking for a record.
Not browsing. Looking. I know exactly which one: the one with the dry kick and the string stab that comes in late, the one I have not played in about four months. I am going through the crate with my fingers while something else plays and about eighty people carry on not noticing.
I find it in roughly four seconds. No search box. No relevance score. Nothing suggested it to me.
Fig. 1. Photograph by Edu Grande, CC0, via Wikimedia Commons.
What a crate actually is
A crate is not organised. This is worth saying plainly, because DJs talk endlessly about organisation and almost none of that talk survives contact with a real night.
The crate is roughly grouped, mostly by when things went in, and it is small enough that going through it linearly is faster than operating any system for not going through it linearly. Sixty records, maybe eighty. You can get from one end to the other in under a minute.
And critically: everything in it, I put in it. There is no discovery feed in a crate. Nothing arrived. Every record is there because at some point I heard it, decided, paid for it, and carried it.
That deliberateness does enormous work, and it is invisible until you try to design a system without it. When I go through the crate I am not separating signal from noise. There is no noise. There is only material I chose, and the question is only which one.
Why my product's search is deliberately stupid
This is an argument I lost internally and then realised I was glad to have lost.
JEFIELD's search has no ranking. No fuzzy matching. No stemming. No semantic similarity. No embeddings. The rule is brutally literal: every word you type must appear, literally, in the thing. Matched characters are marked. Results are not scored, because there is no score. Order is by time.
Every instinct I have as a designer said this was lazy. Ranking is table stakes. Fuzzy matching forgives typos. Semantic search finds the thing you meant rather than the thing you typed. All true, and all of it is solving a problem this collection does not have.
Ranking exists to solve abundance
Ranking is a response to scale plus noise: a million documents, most irrelevant, and the system must guess which ones you mean. That problem is real on the web, where the corpus is everything and you chose none of it.
It does not exist in a crate. The crate contains only things you chose. There is nothing to rank away.
And ranking has a cost people rarely state
Here is the argument that actually changed my mind, and it is not about quality.
Ranking makes absence ambiguous.
When a ranked search returns nothing useful, you cannot tell whether the thing is absent or whether the ranker put it below the fold. You have lost the ability to conclude. So you search again with different words, and again, and the not-finding becomes an open-ended activity with no natural end.
A literal match is different. If every word you typed is not in it, it is not there. You know that with certainty, in one attempt, and you can stop.
Ranked search | Literal match | |
|---|---|---|
Best case | Finds what you meant | Finds what you typed |
Typo | Forgiven | Fails, visibly |
Empty result means | Maybe absent, maybe ranked low | Absent |
You can stop searching | Never certain | Immediately |
Right for | A corpus you did not choose | A corpus you did |
Table 1. The trade is not quality against simplicity. It is recall against the ability to conclude.
Where it does get clever, and only there
There is one exception, and it is not about ranking. The search reads the log and what the thing itself says: a document's own text, a page's title and description, the contents of an archive, the host of a link.
So typing 용역 finds a contract whose filename is 계약서 최종본.pdf and whose only occurrence of that word is inside the bytes of the file.
That is not intelligence. It is reading. The system looked inside rather than guessing from the label, and then reported literally what it found.
Which is exactly what pulling a record halfway out and looking at the centre label is. You are not asking the crate a question. You are looking at the thing.
Fig. 2. Photograph by Franz van Duns, CC BY-SA 4.0, via Wikimedia Commons.
The part that does not transfer
I should be honest about the limit of the analogy, because it is real.
A crate works at sixty records. It does not work at six thousand, which is why DJs with large libraries use software with tags, key detection, energy ratings and smart playlists. At sufficient scale the linear pass stops being viable and structure becomes genuinely necessary.
So the honest version of my position is not "ranking is bad." It is: ranking is a scale technology, and applying it before you have the scale costs you certainty for nothing. The failure mode of building it early is not that it performs badly. It is that it makes every empty result unfalsifiable, permanently, from day one.
I will need to revisit this. The trigger is specific and written down: when a real search on a real collection fails in a way literal matching caused, and it happens more than once.
The thing I actually took away
There is a kind of design confidence that only comes from knowing the contents were curated, and it lets you remove machinery rather than add it.
Most software cannot have that confidence, because most software holds material the user did not choose: feeds, inboxes, synced folders, shared drives, recommendations. Abundance forces cleverness, and the cleverness then has to be maintained, tuned, and explained.
But if you are building something where every single item was deliberately placed by one person, you have a crate. You should design like it. Small, linear, literal, and fast enough that thinking about how to search is slower than simply going through it.
Four seconds, with a record still playing, and nobody noticing anything happened at all.
Sources
Photograph by Edu Grande, CC0, via Wikimedia Commons. commons.wikimedia.org/wiki/File:Browsing_record_store_shelves_(Unsplash).jpg
Photograph by Franz van Duns, CC BY-SA 4.0, via Wikimedia Commons. commons.wikimedia.org/wiki/File:Groove_and_needle_in_close_embrace_from_beginning_to_end.jpg
Related reading
Latest Articles.
© Moc Mallen Studio
Thoughts, ideas, and perspectives on design, simplicity, and creative process.

