The Vibe Map — discovery & recommendation engine
Furrl's discovery ran on "vibes" — editorial themes like DesiDrama and CoordCult. I rebuilt the engine underneath them — a governed taxonomy and a connected graph of 63 vibes and 368 links — and curated new trend-led vibes with expert curators. It lifted session time and engagement.
The result
The system, and what it moved
The problem
Taste with no system
- Vibes had sprawled. A growing, hashtag-style set with no structure — the same products in unrelated vibes, off-theme products polluting good ones.
- No relationships between vibes. A shopper who loved one vibe hit a dead end; nothing told the engine that DesiDrama sits next to AnokhiAnarkali.
- No measurement. No view of which vibes earned their slot and which were dead weight.
What I built
Taste, made a system
- A governed taxonomy — the full vibe set restructured into a tree across seven groups (Occasion, Seasonal, Trend, Mood, Belief, Aesthetic, Utility).
- The connection graph — every vibe mapped to its adjacent vibes, up to eleven links each, so the engine could route a shopper from one vibe to the ones beside it.
- Trend-led curation — built new, on-trend vibes with expert curators, so the feed stayed fresh and current.
- Vibe definitions & a per-vibe funnel — each vibe tied to its product categories, and tracked impression → CTR → add-to-cart, so every vibe carried a number.
- A two-cut remap — archived dead vibes, pulled off-theme products, kept and pushed the strong ones.
Artifact · the vibe connection graph
63 vibes, 368 connections. Hover any vibe to see what it routes to; the moving dots are shoppers hopping across links.
The outcome
Fresher vibes, more to move through
- Lifted session time and engagement on the new, trend-led vibes — the outcome I stand behind.
- The map became the engine — every discovery surface (home feed, frames, collections) drew from the connected graph, and it powered cross-vibe recommendations.
- Every vibe became measurable — weak vibes archived, strong ones kept and pushed, through the per-vibe funnel.
The judgment call: I archived dead vibes and pulled high-traffic-but-off-theme products rather than chase reach — protecting the integrity of the graph over vanity impressions, because a clean graph is what makes the recommendations work.