Back to home

Our Methodology

How we filter

Google and Yelp are gamed. Restaurants hand out free desserts for five-star reviews. Ad dollars bump up placement. We do it differently.

VibeFind pulls recommendations from real Reddit threads — people arguing about where to eat, shouting out their favorite dishes, warning each other about the tourist traps. It's not perfect, but it's honest, and it's hard to buy.

Why this matters

Most restaurant apps surface whoever pays for placement or whoever has learned to game the review system. A 4.8-star rating on the big sites often means the owner is good at asking for reviews — not that the food is good.

Reddit conversations are messy, opinionated, and overwhelmingly written by locals with no ad budget. That's the signal we want. Our job is to pull it out cleanly, filter the noise, and never let a sponsor sneak onto the list.

The filtering rules

Rule 01

Exclude closed restaurants

If the community is talking about a place in past tense — "RIP," "I miss it," "used to go there" — we drop it. A recommendation for a restaurant that no longer exists isn't useful.

  • "X closed down"
  • "RIP X"
  • "X was amazing" (past tense)
  • "I miss X"
Rule 02

Don't count upvotes on negative comments

A wildly upvoted comment that says "this place is overrated" shouldn't make the restaurant look more popular — it should do the opposite. We read the tone and strip upvotes from critical, lukewarm, or "used to be good" comments before scoring.

Negative signals we strip

  • "overrated" / "overhyped"
  • "not that great"
  • "disappointing" / "mediocre"
  • "sucks" / "terrible" / "awful"
  • "not worth it"
  • "used to be good"

What counts

Positive, specific endorsements. A comment has to be recommending the place — not damning it with faint praise — before its upvotes feed into the ranking.

Rule 03

Context has to be about the food

When we show you a snippet next to a restaurant, it should tell you something about what to order — not what street corner to stand on. Comments that only discuss location get dropped from the context pool.

Good context

  • "The tantan is the BEST"
  • "Their tocino and little bangus is the best combo"
  • "Best ramen I've had, the broth is perfect"

Filtered out

  • "Isn't it at Grand & Ashland?"
  • "Location is 1521 W. Grand"
  • "Near the airport"
Rule 04

Only real restaurant names

Generic phrases like "ramen shops," "pizza places," or "food carts" don't make it through. Every entry has to be an actual business we can point you at.

Rule 05

Read every relevant post, not just the top ones

The most popular threads get the loudest voices — not always the best ones. Our scraper pulls every relevant post we can find per city and category, then processes every comment. More data, fewer blind spots.

Rule 06

Query every relevant subreddit per city

Each city gets its own curated list of subreddits. We never stop at the first sub that returns results — we search all of them and weight each by quality, because a recommendation in r/denverfood carries more signal than one buried in a r/Denver traffic thread.

Source typeWeight
  • Dedicated food sub (e.g. r/denverfood)× 1.5
  • Neighborhood sub (e.g. r/Capitol_Hill)× 1.2
  • Primary city sub (e.g. r/Denver)× 1.0
  • Cuisine-specific global sub (e.g. r/ramen)× 0.8

Every recommendation is source-tracked back to the subreddits it came from, so we can audit coverage and keep recalibrating.

The code is the source of truth

These rules aren't marketing copy — they're enforced in the extraction pipeline itself. The filtering logic lives in our public repository, and EXTRACTION_RULES.md is the checked-in specification every run must honor.

If you think a place was filtered when it shouldn't have been — or surfaced when it shouldn't have — you can read exactly why, then tell us. That's the deal.