MusicMosh is a web app that allows users to easily discover new artists playing near them. By powering the user with dynamically generated Youtube playlists, MusicMosh turns music discovery into a fun and engaging experience.
Just enter your location, and the app will start playing artists that will perform around you soon!
MusicMosh was built entirely on top of Ruby on Rails. Being no stranger to Ruby and MVC frameworks, I was able to setup a working prototype of the app in a very short time frame.
MusicMosh integrates a complete test suite, powered by RSpec, Capybara and FactoryGirl.
It has also a number of features that were quickly bootstrapped by leveraging several RubyGems. A full-featured login system, including a Facebook Connect option, was developed, allowing the user to easily favorite his prefered artists and shows.
The music videos are dynamically fetched using the YouTube Search API and displayed to the user with the YouTube Player API.
To power the whole app, a complex scraping tool had to be developed. With the help of Kimono, which converts websites in JSON, and also leveraging Facebook Events, it was possible to add a large number of scrapers that allow for the user to play artists that are playing in major US cities on an initial version.
This system was developed thinking ahead of time, and multiple functions were extracted to make sure adding scrapers to additional locations later on is as painless as possible.