All content related to system-design-applications

Bloom Filter Explained: Design and Implementation

Bloom filter is a probabilistic data structure that tells whether an element may be in a set or definitely is not. If we look up an item in the Bloom filter, we can get two possible results.

Design WhatsApp Messenger

Whatsapp is a social messenger platform, which allows users to send messages to each other. It is a messaging system that is widely used throughout the globe. Here in this blog, we’ll be discussing WhatsApp’s generic architecture and which could also be used as a base for designing any such chat application. So let’s get started by discussing the key requirements of our service.

Design Typeahead or Autocomplete System

Typeahead, or autocomplete, is a feature in which an application guesses the rest of a word as the user inputs it. In most graphical user interfaces, users can accept a suggestion by hitting the tab key or many suggestions by pressing the down arrow key. Furthermore, autocomplete is used in many search functions across numerous platforms, including Facebook, Instagram, and Google search.

Design YouTube

YouTube is a frequently used social networking platform for video sharing and is a convenient tool for advertising. Hence before designing such type of service, it is necessary to consider various requirements and system boundaries. The system should be reliable, resilient, consistent as well as remain available all the time. It should offer latency-free services and able to provide high throughput. YouTube is a widely used service, and hence our service must fulfill various primary requirements and function efficiently.

Design Google Docs

Google Docs is an online word processor that is part of Google’s free, web-based Google Docs Editors package. It is a massive system with tons of features. If you spend a few minutes thinking about how Google Docs is built and how it works, you may realize that it is much more complex than it seems to be. Without any much delay let’s see how Google Docs work :)

Design Dropbox

Dropbox is a cloud storage service that allows users to store their data on remote servers. The remote servers store files durably and securely, and these files are accessible anywhere with an Internet connection.

Design Instagram

Instagram is a photo and video-sharing social media platform that allows users to share their creations with others. The original poster can set the visibility of these posts (photos/videos) to private or public. Posts can be liked and commented on by users. Users can follow and see the news feeds of other users (a collection of posts from the users they are following).

Design Facebook Newsfeed

Whenever you open Facebook, the News Feed is the first service that you encounter. It is a continually updating service consisting of posts, photos, videos, comments, and activities of the people and pages you follow. Every Social media platform, such as LinkedIn, Twitter, Youtube, Instagram, etc., has a News Feed service, the main landing page, and displays real-time updates. Many companies also use Social Media platforms for advertising their products and using Machine Learning to offer customized and relevant advertisements to the user to increase their profits. Over the past few years, social media platform such as Facebook has scaled tremendously. News Feed is a vital component of Facebook as it directly affects user engagement and constant interaction. Hence Facebook teams are highly concerned about every use case and aimed to provide real-time services. Without much, let's look into the critical requirement of the Facebook News Feed service.

Design Twitter

Twitter is a social media platform where users may post and interact with “tweets.” Users submit and engage with “tweets” on Twitter, a microblogging and social networking site. Users can subscribe to other users’ feeds and receive tweet notifications from those they follow. Tweets are almost 140–280 character communications.

Design Notification Service

In today’s world, notification services are widely employed in almost every product. They’re helpful if you’d like to be alerted of a price change or availability of a product you’re interested in, or if you’d want to be told if a new job specification for a job search criterion you’ve provided becomes available.

Design Yelp

Design a Yelp like service, where users can search for nearby places like restaurants, theaters, or shopping malls, etc., and can also add/view reviews of places.

Design QR code system for a Grocery store

QR code payment is one of the contactless payment methods to transfer funds from the buyer’s wallet to the seller’s wallet or account. here Payment is performed by QR code at POS from the mobile app.

Design API Rate Limiter

At its most basic level, a rate limiter restricts the number of events a certain object (person, device, IP, etc.) can do in a given time range. A rate limiter, in general, restricts the number of requests a sender can send in a given period of time. Once the cap is reached, Rate Limiter blocks requests.

Design Uber

Uber continues to improve its operations and services by deploying and developing new services to meet market demand, find the best and most efficient routes, detect any potential fraud, provide more customer-centric services, and monitor and update data to provide the most efficient real-time services. In this blog, we’ll be looking at how to design the Uber system.

Publisher-Subscriber Pattern

The Publish/Subscribe pattern, sometimes known as pub/sub, is an architectural design pattern that enables publishers and subscribers to communicate with one another. In this arrangement, the publisher and subscriber rely on a message broker to send messages from the publisher to the subscribers. Messages (events) are sent out by the host (publisher) to a channel, which subscribers can join.

Design a Web Crawler

A web crawler (also known as a spider) is a system for downloading, storing, and analyzing web pages. Web crawlers are used for a wide variety of purposes. Most prominently, they are one of the main components of web search engines, systems that compile a collection of web pages, index it, and allow users to issue index queries and find web pages that match queries.

Workflow in a Distributed System

Ever wondered how does 1-click-buy works on Amazon? How does an e-commerce platform show the status of your order after the order is placed? What happens when you cancel your order right after you place an order, or after your item is shipped, or even delivered? How is all the activity related to an order tied to just one order Id? This blog will try to tackle such system design challenges and lay out key insights on designing a workflow system.

Design PasteBin - System Design Interview Question

Have you ever thought of any such service that could make our life easier by allowing us to store data over the internet and simultaneously allow others to access the same data? If it is so, then this is the perfect blog for you. Here, in this blog, we'll be discussing the PasteBin System. Here, the aim is to design a highly scalable service that could allow users to paste various content (images, text, etc.) over the internet and allow others to access the pasted content. So let's look at the formal definition of PasteBin.

Our weekly newsletter

Subscribe to get free weekly content on data structure and algorithms, machine learning, system design, oops and math. enjoy learning!