https://www.cleveroad.com/blog/how-to-make-a-music-app-like-pandora--step-by-step-guide-with-detailed-estimation