In our minds, music tends to define certain eras; think back to swing music in the 1930's, and disco in the 1970's. In the past, new styles of music have been developed by a few people experimenting with styles and spreading it to the masses and it still works that way today. People who create music now still rely on collaboration amongst nearby peers but in the world we live in with social networks that connect billions of people from across the world together, this method of collaboration seems to fall short of the times.

Coffee House solves this problem by allowing musicians all around the world to collaborate and build off of one another's ideas to develop their styles of music, finally allowing collaboration in music production to meet the scale of the 21st century world.

What it does

Coffee House is a website which allows users to create Git style repositories to modify and add to other people's songs and to get suggestions on their own. Users can submit their songs to the site and other users can branch off of their repository and overlay audio that they think may improve the song. This allows musicians to gain insight on how to improve their music and exposes them to different styles of music.

How we built it

The site was built with javascript using nodeJS along with the view engine EJS. The back end also integrated Python into nodeJS to do audio layering with the pydub library. MongoDB was used to store the user database.

Challenges we ran into

Integrating the front end and the back end created many difficult challenges. Initially we tried to modulize our front end and back end but we found it too difficult to integrate. We tried to implement a version control system while working on our hack which was very convoluted and was difficult to manage within the timeframe.

Accomplishments that we're proud of

  • Setting an ambitious goal for our hack and managing to have it functional by the end of the competition
  • Being able to integrate front-end and back-end effectively
  • Being able to work with and layer multiple audio files together based on the user's choice of time.

What we learned

  • Some of us were very proficient with front end, and others were more proficient in back end so we all learned a bit of the other side and how to integrate them together
  • We learned how to communicate effectively as a team and set roles for each team member to manage our time well

What's next for Coffee House

  • Fully implementing a version control system with features such as branching and traversing
  • Getting a large customer base to use and spread the product
  • Simplifying the ux and making it more user friendly
Share this project: