system-design-primer
reference — in the room

Back-of-the-envelope estimation

in short — written for this site
Powers of two, latency numbers, and a willingness to round hard.
powers of two
2^10 is a thousand — a kilobyte. 2^20 a million — a megabyte. 2^30 a billion — a gigabyte. 2^40 a trillion — a terabyte. 2^50 a quadrillion — a petabyte.
a working example
1 million users writing 1 KB a day is 1 GB a day, 365 GB a year. That fits on one machine, so the interesting question is not storage but read fan-out.
from the primer — full sectionsynced

You'll sometimes be asked to do 'back-of-the-envelope' estimates. For example, you might need to determine how long it will take to generate 100 image thumbnails from disk or how much memory a data structure will take. The Powers of two table and Latency numbers every programmer should know are handy references.

Powers of two table

Power           Exact Value         Approx Value        Bytes
---------------------------------------------------------------
7                             128
8                             256
10                           1024   1 thousand           1 KB
16                         65,536                       64 KB
20                      1,048,576   1 million            1 MB
30                  1,073,741,824   1 billion            1 GB
32                  4,294,967,296                        4 GB
40              1,099,511,627,776   1 trillion           1 TB

Source(s) and further reading

sourcedonnemartin/system-design-primer / README.mdanchor#appendixsyncedsynced from donnemartin/system-design-primer@master · 2026-08-16