System design, from first principles

Great systems start long before the first line of code — in conversations, entities and relationships. This is coder000's founding topic: design explained so clearly that a beginner can follow, and practiced on real scenarios.

Conversation to System Design

From a doctor's chat to a complete database design

A seven-part, beginner-first series that takes one real conversation with a doctor and turns it into a complete database design — entities, attributes, relationships, keys and all.

Start with Part 1
  1. Introduction — what's an ER diagram?
  2. Chat with a doctor to gather requirements
  3. Finding entities from conversation
  4. Deciding attributes for entities
  5. Finding relationships between entities
  6. Foreign keys and junction tables
  7. Conclusion — the full journey

More is coming

System design is this site's home turf, and the roadmap here is long — deeper dives into scaling, architecture and real-world trade-offs are planned. Want a specific topic covered sooner? Tell us — suggestions regularly become tutorials.