Very good. I liked the storage planning part and the process of finding the right way to generate URLs.
I used a naive approach to build a personal URL shortener myself. It's all based on very simple HTML meta redirects, a simple hashing function (BLAKE2b) to generate the short URL, and GitHub + GitHub Pages to do the hosting. Of course it's nowhere near the scalability of what you describe in your post.