# Gathering Requirements — System Design

Source: https://www.geekswithgeeks.com/en/system-design/sd-requirements

> Clarify scope, actors, and constraints before designing.

## Questions to ask

Who are the users? What are the core features (MVP)? Read-heavy or write-heavy? How many daily active users? What is acceptable latency and downtime?

## Define the API

Turn features into endpoints early. `POST /orders`, `GET /orders/{id}`. The API shape forces you to name the data and the access patterns.

## State assumptions out loud

If you can't get an answer, assume a number and say so: "I'll assume 1M DAU and 10:1 read:write." It keeps the design concrete.
