# system-design-project

Published articles for system-design-project.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Typeahead Search at Nextdoor

DevFeed: [Typeahead Search at Nextdoor](<https://devfeed.tech/articles/typeahead-search-at-nextdoor-20346.md>)

Original publisher: [Read original article](<https://engblog.nextdoor.com/typeahead-search-at-nextdoor-1875e70c67e8?source=rss----5e54f11cdfdf---4>)

Author: Jerry Tian

Published: 2022-07-06T19:49:06Z

Content type: tutorial

Language: en

Sources: [Nextdoor](<https://devfeed.tech/sources/nextdoor.md>)

Topics: [Latency](<https://devfeed.tech/topics/latency.md>), [API](<https://devfeed.tech/topics/api.md>), [Low Latency](<https://devfeed.tech/topics/low-latency.md>), [Network](<https://devfeed.tech/topics/network.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [Google Search](<https://devfeed.tech/topics/google-search.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [autocomplete](<https://devfeed.tech/tags/autocomplete.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [geohash](<https://devfeed.tech/tags/geohash.md>), [google-search](<https://devfeed.tech/tags/google-search.md>), [latency](<https://devfeed.tech/tags/latency.md>), [low-latency](<https://devfeed.tech/tags/low-latency.md>), [network](<https://devfeed.tech/tags/network.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [search](<https://devfeed.tech/tags/search.md>), [system-design-project](<https://devfeed.tech/tags/system-design-project.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>)

### AI overview

This article explains how Nextdoor built a proximity-based typeahead search service for businesses, users, and keywords. It describes the service's focus on geographic relevance, low latency, horizontal scalability, extensibility, and high-throughput indexing.

### Source excerpt

Background In a thriving community, people are connected to their friends and local businesses. Nextdoor is the hyperlocal platform that mirrors these offline relationships. Every day, through active discussions on the platform, new relationships are formed and existing ones strengthened. For example, a Nextdoor user can create a post like "I really like @XYZ cafe. @John is a hard working business owner and we should all support him by buying a cup of delicious latte!" Here, the post is created by at-mentioning (via the @ symbol) nearby businesses and users. From this post, users in the neighborhood can contribute by at-mentioning others to be part of the comment threads. As a result, John's cafe thrives and acts as a neighborhood hub where new friends are made. Every month, millions of these mentions are created in various discussions (including lost dogs!). In addition to posts and comments, a user can type into the search box and see, among other things, nearby users and businesses. All these features are powered by the same autocomplete service -- a set of APIs to ingest data and handle typeahead search of different entity types (businesses, users, keywords etc) on Nextdoor. This post focuses on how we built a proximity-based typeahead service to power typeahead use cases at Nextdoor. Proximity-Based Typeahead Search as a Service Any good search experience can be boiled down to two core components: Relevance: Given a search query, whether the user sees relevant results or not. As a hyperlocal social network, relevancy is heavily weighted by geo proximity. 2. Low latency. Google Search found that a 400 millisecond delay resulted in a -0.59% change in searches/user. What's more, even after the delay was removed, these users still had -0.21% fewer searches, indicating that a slower user experience affects long term behavior. For a good autocomplete experience, as users type, relevant results should show up instantaneously. To meet the product requirements, we set ou