Skip to content

System design

Status: Outline. Use invariants, failure modes, and evidence before introducing scale mechanisms.

  1. Clarify users, scale, correctness, latency, availability, privacy, and budget.
  2. State the strongest invariants.
  3. Propose the simplest viable architecture and data model.
  4. Trace one write and one read.
  5. Identify bottlenecks and failures.
  6. Add scaling and operational mechanisms only for stated constraints.
  7. Explain security, observability, testing, and migration.
  • Capacity estimation and workload shape
  • Modular monoliths, services, ownership, and network boundaries
  • Replication, partitioning, consistency, and asynchronous workflows
  • Multi-tenancy, imports, booking, notifications, search, and webhooks
  • Evolution, deployment, incident behavior, and decision triggers