URL Shortener

May 11, 2025

Requirements for URL Shortner Service System Design

1. Functional requirements

  • Given a long URL, the service should generate a shorter and unique alias for it.
  • When the user hits a short link, the service should redirect to the original link.
  • Links will expire after a standard default time span.

2. Non-Functional requirements

  • The system should be highly available. This is really important to consider because if the service goes down, all the URL redirection will start failing.
  • URL redirection should happen in real-time with minimal latency.
  • Shortened links should not be predictable. (TODO. Currently we are generating a simple short code which can be predicted. Later we can add a generated hashed code instead so that it cannot be predicted.)

Github URL