Bart Proost, who builds brew.fm

Built for the music I kept missing.

Hey, it’s Bart. I love finding music, but I don’t have time to keep up with every release. Great tracks from my favorite artists kept slipping past me. I built Brew to do the searching and give me something worth pressing play on. If it misses the mark, I’d love to hear about it.

Say hi on X →

First Brew catches the new releases from your artists. Then it listens, so only the ones that fit go into the playlists you love.

How Brew works

Brew picks songs by ear.

No genre tags, no play counts, no guessing from what other people stream. Brew listens to new music, turns each song’s sound into 512 numbers, and adds a song to your playlist when it sounds like the songs already there.

Every song on this page is real, and every one plays. Numbers from October 3, 2026. Start with one song ↓

Songs Brew has fingerprinted
112,948
Artists
16,995
The bar a new song has to clear
0.648
Figure 1
Snooze - SZA: the whole 26.6-second preview. The model hears the 10 seconds in the box.
  1. 01 / 09

    Brew starts by listening.

    Most songs on Spotify come with a preview of up to 30 seconds. Brew plays it to CLAP, an open-source audio model, which listens to a 10-second stretch of it, picked at random.

  2. 02 / 09

    Out come 512 numbers.

    No genre, no artist, no play count. Just 512 numbers describing how those 10 seconds sound.

    These are Snooze’s, every one of them. On their own they mean nothing. Next to another song’s, they say how alike the two sound.

  3. 03 / 09

    Alike in sound, close on the map.

    Compare two fingerprints and you get one number: the closer to 1, the more alike the songs sound. By October 3, Brew had fingerprinted 112,948 songs.

    Here are 1,716 of them, each placed next to the songs it sounds most like. Tap any dot to hear it.

  4. 04 / 09

    Genres show up on their own.

    These colors are the genre tags Spotify gives each artist, painted on afterwards. Brew never shows them to the model, and the score never looks at them.

    Hip-hop still gathers with hip-hop and rock with rock, because they sound alike. Where genres blur, the map does too: R&B runs straight into pop.

  5. 05 / 09

    A playlist is a place.

    Here’s a playlist, R&B favorites: 20 songs by SZA, Frank Ocean, Sade and seven more. They sit close together because they sound alike. Its heart is the average of their numbers, the sound right in the middle.

    Not every song sits in the middle. Best Part, a soft guitar duet, wanders off toward folk. That matters in a moment.

  6. 06 / 09

    Every new song gets a score.

    When a new song comes out, Brew compares it with every song in the playlist and keeps the closest match. That’s its score. A new song only has to sound like one of them.

    Here are nine real releases from August and September 2026, each joined to the song it sounds most like.

  7. 07 / 09

    0.648 or higher, it’s in.

    Five clear the bar, four don’t, and the reason is always the sound.

    Tinashe put out and on the same day: 0.880 and 0.462. Two drum and bass releases, and , score 0.910 and 0.178. Brew judges songs, not artists or genres.

    In the chart, tap a song, then the song it was matched with, to hear why.

  8. 08 / 09

    Remove a song and the bar moves.

    There’s no like button. Brew learns from what you remove. After your third removal, the bar becomes the average score of your last 10 removals plus 0.02, never below 0.50 or above 0.80.

    If drum and bass has no place in your R&B, this is how you say so. Try it: remove three of the songs past the line.

    The bar is at 0.648. Nothing removed yet.
  9. 09 / 09

    Then it lands in Spotify.

    Each day, the best new song that clears the bar goes in at the top of your playlist, so it’s the first thing you see. One a day, with lifetime: a miss is one song to remove, not a cleanup job.

    The rest wait their turn, unless something better comes out first.

Where it works for you.

The same score, pointed at different songs. Three of the four ways Brew adds music use it; one leaves the judging to you on purpose.

Fresh FindsFree

A playlist of your own, made on day one: up to 20 songs, each scored against the songs you play most and clearing the same 0.648 bar. After that, an AI editor picks each new song, treating the score as evidence rather than a rule.

DripLifetime

This page, pointed at a playlist of yours. New releases from the artists already in it are scored against it, and the best one that clears the bar goes in each day.

Signature BlendLifetime

Drip, plus songs from listeners who share your songs. Those must also sit near the playlist’s heart: never under 0.75, and higher for a tight playlist. For R&B favorites it’s 0.847.

UnroastedFree

No score at all: new releases from a playlist’s artists land, unfiltered, in a playlist of their own, for when you’d rather do the judging. Free for 3 playlists at a time, each watching its top 10 artists; lifetime watches every artist, in up to 100.

Free plan, no card. Fresh Finds lands in your Spotify today.

The same map, pointed at you.

The personality test puts your own library on this map. Your songs gather in a few places, and an AI analyst probes how cleanly they split by sound to decide how many sides you have: three, four or five.

Then it finds the song at your center: the one closest to the heart of your main side, by an artist who isn’t in your top artists or your playlists.

See Bart’s reading
Bart's personality test result, as the card it shares

What it can’t do.

Worth knowing before you trust it with a playlist you love.

It hears ten seconds.

The model listens to a random 10-second stretch of each preview. A song that turns halfway through can fool it.

It hears voices, not words.

Brew never reads the lyrics, so a breakup song with a bright beat sounds bright to it.

No preview, no score.

When Spotify has no preview of a song, Brew can’t hear it, so it can’t score it.

It’s only as tight as your playlist.

A new song only has to sound like one song already there, so a song that doesn’t belong pulls in more like it. Take it out and Brew stops matching against it.

It hears up to 1,500 new songs a day.

Fingerprinting costs money, so new songs queue, lifetime listeners’ first. A brand-new release can wait until the next day to be heard.

Silence isn’t praise.

There’s no thumbs up. A song you leave in tells Brew nothing; only removals move the bar.

The exact numbers

For the curious, and for anyone checking our work. Each line is what the code does today.

The model
LAION’s CLAP (HTSAT-tiny, the 630k + AudioSet checkpoint), on CPU. Audio at 48 kHz mono, a random 10-second crop of the preview.
The fingerprint
512 numbers, scaled to length 1, stored with pgvector in Postgres.
How alike two songs are
Cosine similarity of their fingerprints: 1 minus pgvector’s cosine distance.
A new song’s score
Its highest similarity to any of the last 50 of your own songs in the playlist. Brew’s picks never count, so a playlist can’t drift toward them.
The bar
0.648 to start. From the third removal: the average score of the last 10 removed picks plus 0.02, kept between 0.50 and 0.80.
Shared taste
Signature Blend’s songs from other listeners must sit at least as close to the playlist’s heart as its 25th-percentile song, and never under 0.75. Ones that sound almost exactly like a song you removed are pushed down.
The pace
One song a day per Drip or Signature Blend playlist, highest score first, added at the top.
This page’s map
1,716 of the most popular songs Brew has fingerprinted (at most two per artist, all from artists Spotify tags with a genre), plus the 20-song playlist and 9 releases, laid out together with t-SNE at perplexity 30. Scores use all 512 numbers, never the picture. 5 of 9 releases clear 0.648. Built October 3, 2026 from the production database.

Hear what it finds for you.

Free watches your top 10 artists. Lifetime watches up to 1,000 - and every artist in up to 100 of your playlists, daily.