Every time you look for music, you start with a feeling. And then you spend the next few minutes trying to translate that feeling into something the app understands — a title, a genre, a playlist someone else made for a moment that isn't quite yours. The translation is always lossy. Most of the time you settle.
The way music discovery works today is built around what you can search for, not what you actually feel. That's not a criticism — it's just a gap nobody has filled yet. The feeling itself has never been the input.
Vibe Mesh fills that gap. You describe how you want music to feel. The system finds the music that lives there.
A pure backend REST API. Not a player. Not a playlist manager. A middleware layer that any frontend can sit on top of. The API is the product.
Users input a position on six axes, normalized 0.0–1.0. The backend maps those values to a 6-dim feature vector and ranks results by cosine similarity against a pre-mapped library (~600K songs from Kaggle). No ML at query time — pure vector math, sub-millisecond. An optional era control can softly nudge results toward a time period; if untouched, the search stays open to all time. Click any mood preset below to load it into the radar.
| Axis | What it captures | Range | Science | Status |
|---|---|---|---|---|
Energy |
Raw physical and emotional intensity. How hard is the music pushing. | Weightless→Drive→Hype→Full rage |
Arousal — most replicated dimension in all music psychology research | locked |
Groove |
Rhythmic body pull. Not speed — danceability. Slayer does not groove. Confirmed orthogonal to Energy by the Slayer test. | Static→Sway→Nod→Can't sit still |
Contemporary/rhythmic factor (MUSIC model, Rentfrow et al.) | locked |
Fidelity |
Grain and texture of sound. How raw vs produced. Elliott Smith vs Daft Punk. Formula: weighted blend of inverted acousticness and loudness normalisation — not just acousticness alone. | Lo-fi / raw→Warm→Polished→Hi-fi / pristine |
Justified divergence from science — science uses genre as proxy, we isolate the sonic dimension | concept locked |
Vocals |
Presence AND character merged. Absent → textural (Fred Again) → treated melodic → raw exposed front and center. Science flagged this confound, never resolved it. | Instrumental→Texture→Melodic→Raw exposed |
Justified divergence — we resolve a confound science identified in the Sophisticated factor | locked |
Emotion |
Emotional color / valence. Independent of energy. Phoebe Bridgers and death metal are both low energy. They are not the same here. Nearly dropped mid-session. Never drop it. | Dark / anguished→Bittersweet→Hopeful→Euphoric |
Valence — Russell circumplex model, 40+ years, cross-culturally consistent (PNAS 13-dim study) | locked |
Social novel · our IP |
What the music is built for — not the listener preference. Artists encode social context intentionally. Aphex Twin ambient and Karol G Tusa both do exactly what they were designed to do. | 3am headphones→Background→Shared→Room full of people |
Science studies listener context, never encodes it as a property of the music itself — we do | locked |
Click a mood preset to load it. Move sliders to tune. The radar updates live. This is how a user interacts with the vector.
Pre-filled vectors. Genre names are a bridge from where users already operate to the vibe model. Vectors are centroids computed from ~1,000 songs per genre in the dataset. Click any card to load it into the radar above.
Every axis was run against established music psychology research — Rentfrow's MUSIC model (replicated across three independent studies), Russell's circumplex model, and the PNAS cross-cultural 13-dimension study. Divergences are justified, not apologized for.
| Axis | Research | Our position | Verdict |
|---|---|---|---|
| Energy | Arousal — most replicated dimension in all music psychology | Identical to science | parallel |
| Groove | Contemporary/rhythmic factor (MUSIC model) — orthogonal to energy confirmed | Cleaner label, same construct. Slayer test validates independence. | parallel |
| Fidelity | Science uses genre as proxy — metal=aggressive, country=rootsy — never isolated as sonic texture | We decompose it. Lo-fi hip hop and lo-fi indie share production character across genres. | justified divergence |
| Vocals | Sophisticated factor had an instrumental confound — researchers flagged it, never resolved | We resolve it. Presence + character as one clean axis. | justified divergence |
| Emotion | Valence component of affect science (Russell + later replications). Arousal is carried by Energy in our model. | Aligned with science via decomposition: Emotion = valence, Energy = arousal. Load-bearing. Never drop. | parallel |
| Social | Science studies listener social context — never encoded as a property of the music itself | We encode it. Artist intention is a sonic property. This is our IP. | novel |
MVP — feature mapping path
Results are not ranked purely by vibe match. They are blended across popularity tiers. 51% familiar / 49% discovery.
Positions 1–2: anchor tier — popularity ≥ 65, highest vibe match within tier. Positions 3–5: discovery tier — popularity 35–65, highest vibe match within tier. Both tiers enforce a minimum vibe match floor — popularity never overrides feeling.
The familiar majority confirms the system understood the feeling. The discovery tier targets real artists who never had promotional machinery — quality floor at 35 excludes zero-play uploads. When a discovery result lands, the artist gets heard. That is the product working.
Phase 2 — CLAP hybrid path (deferred)