# Example 2: Designing a social media platform
A social media platform is a system that allows users to create, share, and interact with content, such as posts, comments, likes, and messages. Some possible assumptions and constraints for this system are:
| Assumption | Evidence/Rationale |
|------------|--------------------|
| The system will have billions of users and content items. | Based on the popularity and growth of social media platforms. |
| The system will support different types of content, such as text, image, video, and audio. | Based on the diversity and richness of social media content. |
| The system will use a graph-based model to represent the relationships between users and content. | Based on the natural and intuitive way of modeling social media networks. |
| Constraint | Evidence/Rationale |
|------------|--------------------|
| The system will prioritize read performance over write performance. | Based on the observation that read requests are more frequent and time-sensitive than write requests. |
| The system will use a combination of relational and non-relational databases to store different types of data. | Based on the trade-off between the consistency, availability, and scalability of different data models. |
| The system will use a microservices architecture to modularize and decouple different functionalities. | Based on the need for flexibility, maintainability, and extensibility of the system. |