I want to make my own music streaming app. Fix all the UI problems, improve discovery, remember all the musical phases I went through.

Unfortunately, you can't just sign up for API access to millions of songs. And the streaming apps either don't provide a playback API, or their TOS limits what you can do with it.

You don't need to do a monolithic design, and kludging things together is just fine. Start with local playback from the server or something equivalently small and work from there. If you need to background play a youtube video and forward the audio stream elsewhere, so be it haha

I've looked into this before. You might be able to pull this off with the YouTube API and Stream Rip using Deezer. Would require a bit of hacking but it could work.