List the key functional requirements for the system (Ask the AI for hints if stuck)...
List the key non-functional requirements (performance, scalability, reliability, etc.)...
1. The system should respond within a 1-second latency
2. The system can be scaled up/down as per traffic
3. Fault tolerance
4. System uptime
Define the APIs expected from the system. This is your chance to analyse and define the read and write paths so that you can come up with the high-level design...
Controllers
1. Weather controller
2. Account controller
3. Notifications controller
Describe the overall system architecture. Identify the main components needed to solve the problem end-to-end. Use the diagramming tool to create a block diagram.
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.