System design: requirements first
From functional and non-functional requirements to a defensible system design
Name the behaviors you must support (FRs) and the qualities you must meet (NFRs: latency, availability, durability, cost, security). Then use the guided flow to design, stress-test, and cross-check with reference blueprints.
A simple system-design loop
Every interview and real project starts the same: explicit FRs, explicit NFRs, then a design you can validate.
1. Capture FRs and NFRs
Clarify features, users, and constraints; agree on SLOs, security, and cost boundaries before you draw boxes.
2. Shape the design
Propose a high-level design, walk concrete use cases, and deep-dive where trade-offs matter most.
3. Validate against NFRs
Check readiness: observability, failure modes, and operational hardening for what you committed to.
Simple enterprise architecture playground
Explore enterprise architecture at a glance
Start with a generic enterprise map. Pick a zone to connect high-level architecture decisions back to FRs, NFRs, and the questions architects should ask early.
Playgrounds that stress NFRs
Quick sandboxes to connect requirements to numbers and flows.