Requirements Gathering

The crucial first step in system design: defining what the system should do (Functional), the constraints it must operate under (Non-Functional), and what to ignore.

Requirements Clarification

Categorize requirements and define read/write ratios to shape your architecture.

ACCURACY: N/A%
0/8 CATEGORIZED

Unsorted Insights

Users can upload photos

System must support 5M DAU

Users can follow others

Video streaming processing

End-to-end latency < 200ms

Highly available (99.99%)

Push notifications for likes

Live audio chat rooms

Functional

What the system does (Features)

Non-Functional

How well it does it (Constraints)

Out of Scope

What we ignore to save time

Read / Write Ratio

Adjust ratio to see architectural implications.

80% Reads20% Writes

Recommended Architecture

System is Read-Heavy. Prioritize adding Distributed Caches (Redis/Memcached) and CDNs. Read replicas for databases will be essential to handle the query load.

High Caching

Detailed explanation about Requirements Gathering goes here. This section would explain the algorithms, trade-offs, and real-world use cases.