Asbo


Highlights
- An aggregator for a collection of internet radio stations, supporting a curated feed of different djs and mix show content in a consolidated user experience.
- React & Redux for the Client, Ruby on Rails for the server.
- Heavily influenced by principles of Test-Driven and Behavior-Driven development, using Jest and Cucumber.
- Renegade HTML scraping powered by Nokogiri!
About
Asbo was a personal project that started in the best possible way: in response to a real problem that I was experiencing at the time. I have been a fan of electronic and underground club music for years, following the scenes as they mutated and spawned new genres, and I was always dialed in to what was happening in the UK. At the time, I was listening to a lot of dj mix shows, and paying close attention to several pirate/internet radio stations based in London. I noticed that a lot of the same djs that I followed would pop up on several different stations. At the same time, some of the stations were pushing out a large nunber of shows, but I was only interested in a subset that I kept returning to week after week. One of the stations had a rss feed but most did not, and they relied on soundcloud or mixcloud to host the audio content.
I decided to build an aggregator that would abstract the different stations into a normalized 'platform' model, and make djs first-class citizens. I opted for Ruby on Rails for the server layer, and React & Redux for the client. I used an html scraping library (nokogiri) to coerce the output of the different station sites into a single feed, which I exposed via REST API on the server-side.
Ultimately, the project was short-lived. Of the three stations I was building the app around, one is now defunct, one changed to a dramatically different (and improved) ux, which invalidated my parser, and one is still standing. These days I still listen to rinse.fm almost every day, but I have to make do without a bespoke feed experience :-).
Tags
Links
Contact
I'm always interested in connecting with other Software Engineers, Designers, Product/Engineering Managers, and I am currently seeking a new role. If you think there might be a fit on your team, you have a question, or you just want to say hi, hit me up!