<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/RgtBHkVyO" -->

---
title: How to Design Twitter (X) in a System Design Interview?
description: Designing a system like Twitter (X) in a system design interview involves outlining core functionalities such as composing and sharing tweets, following users,...
canonical: https://daily.dev/posts/how-to-design-twitter-x-in-a-system-design-interview--rgtbhkvyo
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How to Design Twitter (X) in a System Design Interview? | daily.dev
og:description: Designing a system like Twitter (X) in a system design interview involves outlining core functionalities such as composing and sharing tweets, following users,...
og:url: https://daily.dev/posts/how-to-design-twitter-x-in-a-system-design-interview--rgtbhkvyo
og:image: https://api.daily.dev/og/posts/RgtBHkVyO.png
og:image:alt: How to Design Twitter (X) in a System Design Interview?
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Design Twitter (X) in a System Design Interview?

**[Javarevisited](https://daily.dev/sources/javarevisited)** · 16 min read · 613 upvotes · 10 comments

## Summary

Designing a system like Twitter (X) in a system design interview involves outlining core functionalities such as composing and sharing tweets, following users, and favoriting tweets. Non-functional requirements like scalability, high availability, and stability are crucial for handling large-scale operations. Key aspects include capacity estimation, API design, database design, and understanding queries per second (QPS). Employing a structured approach and utilizing tools like Redis for caching, MySQL for data consistency, and Amazon S3 for media storage are essential. Detailed component design includes load balancers, CDNs, and handling failure scenarios to ensure robust system performance.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://medium.com/javarevisited/how-to-design-twitter-in-a-system-design-interview-98983c649cc0>

## Community discussion

Top comments from developers on daily.dev.

**@rafaelalvarez** · 1 upvotes

> Cool

**@jakaponglomvong** · 1 upvotes

> Thanks!

**@zataara** · 1 upvotes

> I love diagrams.

**@mbarro** · 1 upvotes

> Besides the step by step guide for Twitter infrastructure, which is very well detailed BTW, the post also contains several System Design web pages links that could be useful for training and improving your skills

**@geraldjanesalacsacan** · 0 upvotes

> Cool it uses 3 NoSQL and Kafka thank you for the info. I good sample for my Research

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#career](https://daily.dev/tags/career), [#distributed-systems](https://daily.dev/tags/distributed-systems)

[View this post on daily.dev](https://daily.dev/posts/how-to-design-twitter-x-in-a-system-design-interview--rgtbhkvyo)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How to Design Twitter (X) in a System Design Interview?","url":"https://daily.dev/posts/how-to-design-twitter-x-in-a-system-design-interview--rgtbhkvyo","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-to-design-twitter-x-in-a-system-design-interview--rgtbhkvyo"},"datePublished":"2024-08-18T11:04:52.385Z","dateModified":"2024-11-16T02:17:25.563Z","description":"Designing a system like Twitter (X) in a system design interview involves outlining core functionalities such as composing and sharing tweets, following users,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1d211d8657f99fd2fea8d204c9bdca77?_a=AQAEuiZ","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1d211d8657f99fd2fea8d204c9bdca77?_a=AQAEuiZ","isAccessibleForFree":true,"articleSection":"Javarevisited","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Javarevisited","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/9ca6532654d146408235d53f0823a26d","url":"https://daily.dev/sources/javarevisited"},"commentCount":10,"discussionUrl":"https://daily.dev/posts/how-to-design-twitter-x-in-a-system-design-interview--rgtbhkvyo","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":613},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":10}],"keywords":"architecture,career,distributed-systems","timeRequired":"PT16M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Javarevisited","item":"https://daily.dev/sources/javarevisited"},{"@type":"ListItem","position":3,"name":"How to Design Twitter (X) in a System Design Interview?"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/how-to-design-twitter-x-in-a-system-design-interview--rgtbhkvyo","comment":[{"@type":"Comment","text":"Cool","datePublished":"2024-08-18T20:25:13.602Z","url":"https://daily.dev/posts/RgtBHkVyO#c-gAwLAzjci","author":{"@type":"Person","name":"Rafael Alvarez","url":"https://daily.dev/rafaelalvarez","image":"https://lh3.googleusercontent.com/a/ACg8ocJy78urkEomkqWRrgI9lT5X5PtQWIgx2Ek8IlZKZEbLeeo-K22i=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"Thanks!","datePublished":"2024-08-19T04:10:38.027Z","url":"https://daily.dev/posts/RgtBHkVyO#c-A52e2hwmh","author":{"@type":"Person","name":"Jakapong Lomvong","url":"https://daily.dev/jakaponglomvong","image":"https://lh3.googleusercontent.com/a/ACg8ocLlyGaKLFeuFy2MY7oP-sQRFjde6pbGoYMKYgNjIuBRVaEOMsT3nA=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"I love diagrams.","datePublished":"2024-08-23T04:15:38.916Z","url":"https://daily.dev/posts/RgtBHkVyO#c-T2lLTx0Ma","author":{"@type":"Person","name":"Bryant MacMahon","url":"https://daily.dev/zataara","image":"https://avatars.githubusercontent.com/u/75229911?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"Besides the step by step guide for Twitter infrastructure, which is very well detailed BTW, the post also contains several System Design web pages links that could be useful for training and improving your skills","datePublished":"2024-09-09T13:54:46.215Z","url":"https://daily.dev/posts/RgtBHkVyO#c-apKDHvhrb","author":{"@type":"Person","name":"Matias Barro","url":"https://daily.dev/mbarro","image":"https://lh3.googleusercontent.com/a-/AOh14Gji1_Xqoy6v4OiCFFUnQav2R3wjxTd9lab2EsBaIw=s100"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"Cool it uses 3 NoSQL and Kafka thank you for the info. I good sample for my Research","datePublished":"2024-10-23T14:51:54.758Z","url":"https://daily.dev/posts/RgtBHkVyO#c-z0WbfANoQ","author":{"@type":"Person","name":"gerald jane Salacsacan","url":"https://daily.dev/geraldjanesalacsacan","image":"https://lh3.googleusercontent.com/a/ACg8ocLHF3ch9OJRhj2Z2xwnuZ5LXOhCbk_KFLGwbCFHblKwiXXEfCOa=s96-c"}}]}
```

