How to think in flows instead of features in system design
In system design interviews, beginners talk about features: login, notifications, feed, etc. But great engineers think in flows — they describe how data and requests move through the system, not just what the system does.
This mindset shift is what separates coders from architects.
1️⃣ Why thinking in flows matters
When you focus on features, your answers sound static:
“I’ll add a database for users and an API for authentication.”
But when you describe flows, you reveal deep understanding:
“A login request flows from client → API gateway → authentication service → cache/database → token service → response.”
It helps interviewers visualize your architecture immediately — even without diagrams.
🔗 Learn more: System Design Fundamentals
2️⃣ Start every design with a request flow
In any system design, define the end-to-end path a single request takes:
- Entry Point — User or external client
- Gateway — Load balancer, API gateway
- Service Tier — Application logic
- Storage Tier — Database, cache, message queue
- Response — Data served to user
This shows structure and sequence — key to acing design interviews.
🔗 See practical examples in How to Approach a System Design Question
3️⃣ Add the data flow next
After request flow, describe how data moves and changes inside the system:
- From source → transformation → sink
- Through queues, events, and replication
- Across regions or caches
This illustrates your understanding of scalability and consistency.
🔗 Related: Data Replication Strategies
4️⃣ Visualize with a sequence or block diagram
You don’t need fancy tools — simple blocks and arrows are enough:
Client → Load Balancer → App Service → Cache → Database
↘ Queue → Worker → Storage
Mark latency hotspots, error handling, and data ownership.
🔗 Read: What’s the Right Way to Draw Diagrams in System Design Interviews?
5️⃣ Evolve from flow → system behavior
Once you map the flow, layer in non-functional aspects:
- Caching → improves latency
- Sharding → improves scalability
- Replication → improves reliability
- Monitoring → improves observability
This makes your design holistic, not mechanical.
💡 Interview Tip
When asked to “design a newsfeed” or “build an API service,” start by saying:
“Let’s first trace the request flow end to end before diving into data models or optimizations.”
This single sentence instantly sets you apart as a system thinker.
🎓 Learn More
Develop system design thinking that scales with Grokking the System Design Interview. Then solidify your fundamentals in Grokking System Design Fundamentals.
GET YOUR FREE
Coding Questions Catalog

$197

$78

$78