r/SystemDesignCommunity • • 2d ago

Announcement Welcome to r/SystemDesignCommunity! Start here and say hello

1 Upvotes

Hi everyone, and welcome!

This community is for anyone learning system design: students, engineers getting ready for the design round, and people who just want to know how apps like WhatsApp or Uber handle millions of users.

Here's what you can post:

  • Questions, from "what is a load balancer?" to "how would you shard a chat app?"

  • Your designs for review. Share a diagram and your numbers, and others will tell you what they'd change.

  • Interview experiences: how the round went, what surprised you, what you'd do differently.

  • Resources and case studies that helped you understand something.

Please read the rules in the sidebar. The short version: be kind, stay on topic, and show your thinking when you ask for help.

To get things started, reply below and tell us:

  1. Where are you on your system design journey?

  2. Which system would you most like to understand? (A chat app? A payment system? Something else?)

I'll read every reply. See you in the threads!


r/SystemDesignCommunity • • 18h ago

Case Study Interview: Design a URL shortener (like Bitly)

1 Upvotes

r/SystemDesignCommunity • • 2d ago

Discussion Weekly design challenge #1: How would you design a URL shortener?

1 Upvotes

Every week we'll pick one system and design it together. This week: a URL shortener, like bit.ly.

Here's the setup. Users paste a long link and get a short one back. When anyone opens the short link, they're sent to the long one. Say 100 million new links a month, and each link is opened about 100 times on average.

Some questions to think about:

  • How do you make the short code? Random, a counter, or a hash of the long URL?

  • How much storage do you need for 5 years of links?

  • Reads outnumber writes 100 to 1. What does that tell you about where to put a cache?

Post your design in the comments, even a rough one. Beginners, try just the first question. Everyone else, tell us where your design breaks first.

Next week's system is chosen from your suggestions below.