Perfect demonstration of the necessity of metaprogramming
Instead of writing a new app from scratch, this guide could have been a guide on specifying the SoundCloud client app in a meta-description language and then using that to generate all of the React.js and Redux code that is needed. Unfortunately, this guide is plain programming with no metaprogramming at all.
At this point in the game, a SoundCloud client has to have basic functionality and make certain API requests. Instead of writing at a low-level in particular web frameworks or libraries, it should be possible to generate the basics of a client from a description. Something like an XML interface file.
I hope to be publishing a metaprogramming description language of my own soon, so this guide is very timely and shows why metaprogramming is needed.