Yelp / Nearby Places — Notes
Functional
- Search places by category + name + location.
- Place detail (hours, photos, reviews, menus).
- Write review, upload photo.
- Check-in, reservations integration.
- Owner tools.
Non-functional
- p99 nearby search < 300 ms.
- 99.95% availability.
- Read-heavy (50:1).
Capacity
- 200M+ places globally; 200M+ reviews.
- Photos in TB-PB range.
Schema
places(id, name, geo, category, hours, owner_id, rating_avg, review_count)
reviews(id, place_id, user_id, text, rating, photos[], ts, is_filtered)
geo_index(cell_id, [place_id])
Trade-offs
- Quadtree vs geohash vs S2: S2 is sphere-aware, popular now.
- Filtered reviews: trust vs author goodwill.
- Personalization vs objective ranking: hybrid scoring.
Refs
- Yelp engineering blog (Mussel, search, Spam Filter).
- Google S2 docs; Uber H3 hexes.
- ByteByteGo "Design Yelp".