Recommendation Algorithms & System Designs Of YouTube, Spotify, Airbnb, Netflix And Uber

Recommendation Algorithms & System Designs Of YouTube, Spotify, Airbnb, Netflix And Uber

Today, we came up with something different i.e. Recommendation Algorithms of tech giants like Spotify, YouTube, Signal Messenger, Amazon, etc. and How to design a system or System Designs of companies like Uber, Twitter, Netflix, Airbnb, Dropbox, Google Docs, Zoom, etc. One more thing we want to share before we jump into the article i.e. thanks for your so much love all on our previous articles. 

This article is based on our personal research. Some of the things might not be 100% accurate but we have tried our best to keep it accurate, informative and valuable.

Note: If you have any suggestion's or feedback please don't be shy in sharing with us. And if you think this article is worthy then please share it with others as well as with your web community

1. Uber System Design

uber system design
Image Credits: Geeks for Geeks

Uber’s technology may look straightforward but the game starts behind the scenes when A user requests a ride from the app, and a driver arrives to take them to their destination.

Uber's infrastructure consisting of thousands of services and terabytes of data supports each and every trip on the platform.

The system was predominantly written in Python and used SQLAlchemy as the ORM-layer to the database. The actual architecture was fine for running a relatively modest number of trips in a few cities.

The company's backend is now not just designed to handle taxies, instead, it can handle taxi, food delivery, cargo and a lot more.


2. YouTube Video Recommendation Algorithm

youtube recommendation algorithm
Image Credits: KDNuggets

When users are spotting the videos on YouTube, a list of recommended videos are thrown below or on the right side of your device which the user might like in a certain order. 

The described model in the paper focuses on the two main objectives. A Wide & Deep model architecture was used which combines the power of a wide model linear model (memorization) alongside a deep neural network (generalizations). The Wide & Deep model will generate a prediction for each of the defined (both engagement and satisfaction) objectives. 


3. Twitter System Design

twitter system design
Image Credits: code karle

Learn More by seeing the Video Explanation: Twitter System Design

4. Spotify Music Recommendation Algorithm by Harvard Business School

spotify recommendation algorithm
Image Credits: Harvard Business School

How Spotify uses Machine learning to recommend the music?

The company uses three recommendation models concurrently and other techniques. Three models as described by Harvard Business School are

- CF aka Collaborative Filtering: Models that analyze your behavior and compare it to other users’ behaviors

- NLP aka Natural Language Processing Models - that scan the internet and analyze text about Spotify’s catalog

- Audio Analysis: Models that analyze the raw audio files



5. Netflix System Design

netflix system design
Image Credits: Medium / Narendra L

Netflix operates in two clouds: AWS and Open Connect. Both clouds must work together without error to deliver endless hours of customer-pleasing video.

Three main component that plays a major role: CDN, Backend and Client

Anything that doesn’t involve serving video is handled in AWS. Everything that happens after you hit play is handled by Open Connect. Open Connect is Netflix’s custom global content delivery network (CDN).


6. Netflix System Architectures for Personalization and Recommendation

netflix recommendation algorithm
Image Credits: Netflix Tech Blog

Netflix uses a variety of rankers mentioned in its paper, though specifics of each model’s architecture is not specified. Here is a summary of what they are:

Personalized Video Ranking (PVR) — This algorithm is a general-purpose one, which usually filters down the catalog by a certain criteria (e.g. Violent TV Programmes, US TV shows, Romance, etc), combined with side features including user features and popularity.

Top-N Video Ranker — Similar to PVR except that it only looks at the head of the rankings and looks at the entire catalog. It is optimized using metrics that look at the head of the catalog rankings (e.g. MAP@K, NDCG).

Learn more about the Machine Learning Approach, Online Computation, Signals and Data Distribution by visiting the link given below


7. Flipkart / Amazon System Design

amazon system design
Image Credits: code karle

Functional Requirements in designing a platform like amazon or flipkart:

- Should provide a search functionality with delivery ETA

- Should provide a catalog of all products

- Should provide Cart and Wishlist features

- Should handle payment flow smoothly

- Should provide a view for all previous orders

- And a lot more

Non Functional Requirements

- Low latency

- High availability

- High consistency

Learn More by seeing the Video Explanation: Flipkart / Amazon System Design

8. Signal System Architecture

signal system architecture
Image Credits: scc

Signal is an end-to-end encrypted communications application for Android and iOS similar to WhatsApp but open source. It uses the TCP/IP (Internet) to send one-to-one and group messages, which can include text, files, voice notes, images and videos, and make one-to-one voice and video calls. For user identification standard cellular mobile numbers are used.


9. Book My Show System Design

online ticket booking system design - book my show system design
Image Credits: GFG

In this post we'll learn "How to design an online ticket booking system like BookMyShow".

BookMyShow is built on microservice architecture. Let’s look at the components individually. Before we take a jump towards designing a ticket booking system, take a look over services and technologies used by Book My Show

Technologies Used By The Bookmyshow

- User Interface: ReactJS & BootStrapJS
- Server language and Framework: Java, Spring Boot, Swagger, Hibernate
- Security: Spring Security
- Database: MySQL
- Server: Tomcat
- Caching: In memory cache Hazelcast.
- Notifications: RabbitMQ. A Distributed message queue for push notifications.
- Payment API: Popular ones are Paypal, Stripe, Square
- Deployment: Docker & Ansible
- Code repository: Git
- Logging: Log4J
- Log Management: Logstash, ELK Stack
- Load balancer: Nginx



10. Airbnb System Design

airbnb system design
Image Credits: code karle

How do vacation rental giants like Airbnb, Booking.com and OYO work to provide such a smooth flow, from property listing, to booking, to payments? And all without a single glitch! Watch the video to find out everything from their system design, technologies, working, etc

Learn More by seeing the Video Explanation: Airbnb System Design

11. TikTok's ML backed Recommendation Engine

tiktok recommendation algorithm
Image Credits: TDS

The Archetype of TikTok’s Recommendation System Design is User-Centric Design. In a simple term, TikTok will only recommend the content you would love, from a cold start adjustment to an explicit recommendation for active users.

TikTok never reveals its core algorithm to the public or the tech community. But based on the fragmented information posted via the company, and trails discovered by geeks using the reverse engineer techniques this recommendation workflow is made.

Let's divide this workflow in various parts

Step 0: Duo-Audit system for the User Generated Content (UGC)

Step 1: Cold Start

Step 2: Metric based Weighing

Step 3: User Profile Amplifier

Step 4: Boutique Trending Pool

Other Step: Delayed Ignition


12. Google Maps System Design

google maps system design
Image Credits: code karle

Functional Requirements for designing a system like Google Maps:

- To be able to identify roads and routes

- Find distance and ETA while travelling between 2 points

- Should be a pluggable model in case we want to build up on those good to have requirements

Non Functional Requirements

- High Availability - This system can never be down. We don’t want our users to get lost in the middle of nowhere.

- Good Accuracy - The ETA we predict should not deviate too much from the actual time of travel.

- Responds promptly - The response should be ready within a few seconds.

- Scalable - A system like google maps receives huge number of requests per second, so it should be designed in a way that it can handle these requests and any surges in the number of requests.

Learn More by seeing the Video Explanation: Google Maps System Design

13. Amazon Product Recommendation Algorithm

amazon product recommendation algorithm
Image Credits: AI with python


The algorithm contains 5 different main concepts:

- Multiple view – shows multiple components, all the items are displayed here

- User view – shows specific information about the current user in the session

- Item view – shows detailed information about the current item

- Recommendation view – shows recommended items based on the current item

- Data view – visualizes the data structure used by the recommendation algorithm


14. Dropbox System Design

dropbox system design
Image Credits: Medium / Narendra L

Have you ever wonder how these services works internally to provide features like File Upload, Update, Delete and Download?

- File versioning

- File and folder sync

- Here is the high-level explanation of how these systems works under the hood

Video Explanation: Dropbox System Design

15. Google Docs System Design

google docs system design
Image Credits: Medium / Narendra L

The Google Docs system design is divided into two videos. In the first video, you'll learn about operational transformation and differential synchronization. And in second part, you'll learn about system components with micro service architecture and API gateway.

Video Explanation Part 1: Google Docs Part 1

Video Explanation Part 2: Google Docs Part 2

16. Zoom System Design

zoom system design
Image Credits: code karle

Who hasn’t used Zoom or Microsoft teams or WebEx or some sort of video conferencing platform by now! Even classes are being conducted on Zoom these days. If you are reading this I am sure you are curious about how it works. So, Watch the video by visiting the below given link and I am sure that by the end of this video, you will be able to successfully design a video conferencing system.

Video Explanation: Zoom System Design

17. Yelp System Design

yelp system design
Image Credits: Medium / Narendra L

Let's design any location-based service like Yelp or Trip Advisor, where users can search for nearby places like tourist places, restaurants, theaters, or markets, etc and also users can log in, can also add/view comments, photos, and reviews of places. We'll understand everything by taking example of Yelp

Video Explanation: Yelp System Design

18. Cricbuzz System Design

sports system design
Image Credits: Medium / Narendra L


19. Stock Exchange System Design 

stock exchange system design
Image Credits: Tech Dummies

Goal of the system design:

- Thousands of order matches per second per stock type (For reference NASDAQ handles over 60k messages per second.)

- High availability, Scalable, Reliable and durable

- SLA/latency

- Tolerates 1 data center failure

- Serves specific Geo users will less latency

Video Explanation is here: Stock Exchange System Design

What's Next? It might be 100+ Websites, Books, Courses, YouTube Channels, Github Repos, Twitter Influencers, StackOverFlow Accounts, Sub Reddits and Other Resources to learn Programming or A Hand Picked Python Mini Degree or Python + R Codes for essential machine learning algorithms or something unseen. Please stay tuned to see what's coming next.
AI/ML
March 04, 2021
0

Search

Contact Us