bitly clone
Shortening: Take a url and return a much shorter url.
Redirection: Take a short url and redirect to the original url.
Custom url: Allow the users to pick custom shortened url.
Analytics: Usage statistics for site owner.
Ex: How many people clicked the shortened url in the last day?