Moving in to life as a freelancer, I knew I'd be spending a lot more time working remotely. As a result, I looked for a Mac app that could sit in the background and play the radio (at least I'd have some company!). Unable to find anything simple and well designed, I set about building one myself.
Having followed the Electron project for some time, I was intrigued by the technology and this seemed like a good opportunity to experiment with something new. Vue.js has long been my preference over React due to better support for incremental adoption, single file components, and, to me, friendlier syntax.
The front-end is supported by a server which provides the list of stations compiled by a simple scraper which builds a list of stations along with their URL sources. Playback is handled by a MediaElement.js player (which natively handles MP3 streams) sitting in the background.
Although I've been impressed with Electron's APIs and support when building the app, the file sizes for compiled applications are exorbitant. There are no heavy weight assets or large volumes of code for UK Radio Player, yet it still weights in at more than 100mb when built. There are efforts to reduce this but I can see why users would question such a large download for a relatively simple application.
I'm still finishing off the finer points of development of UK Radio Player, I hope to release it on macOS and Windows soon.