Search⌘ K
AI Features

System Design: Yelp

Explore the fundamental requirements of designing a high-scale proximity service such as Yelp. Learn how to define system scope, estimate resource needs (storage, servers, bandwidth), and address the challenge of low latency, location-based searching across massive datasets.

We'll cover the following...

What is Yelp?

Yelp connects consumers with local businesses. Users can discover places, make reservations, and view business information, such as photos and reviews. Similar location-based services include Foursquare and Google Nearby.

Users submit a search query or GPS coordinates, and the system returns nearby points of interest. Users can also contribute content such as reviews, ratings, and images. The core functionality depends on a proximity server that resolves nearby locations. Designing this system is challenging because the architecture must efficiently query massive datasets to return locations within a given radius. This requires spatial indexing techniques such as quadtrees or geohashes to minimize latency when filtering millions of locations.

The user can search for a specific place near them
1 / 6
The user can search for a specific place near them

How will we design Yelp?

We will break down the design process into the following sections:

  1. Requirements: Define functional and non-functional requirements, and estimate capacity for servers, storage, and bandwidth.

  2. Design: Construct the API, database schema, system components, and workflow.

  3. Design considerations: Analyze specific engineering challenges and trade-offs within the architecture.

  4. Quiz: Test your understanding of the design concepts.

Let’s begin by defining the requirements.