Team Codefellas
presentshufl.fm

Codefellas Demo Video

Codefellas Demo Video

shufl.fm is an app that uses machine learning and neural networks to provide song recommendations to its users.

shufl.fm allows a user to listen to a 30-second preview of a track and give it a rating out of five. The neural network in the backend uses these ratings to learn what a user likes, serving it songs that it thinks they'll rate highly.
We wanted to create a simple app to demonstrate machine learning and neural networks - we found a great dataset which contained lots of information and data points which we could use to train our neural network.
We wanted the user experience to be as simple as possible, so we made it look like a standard music player with album art, song info, music controls and a rating slider.

The Team

  • Team member imagePreview: Team member image

    Rob Lehane

  • Team member imagePreview: Team member image

    Louis Roach

  • Team member imagePreview: Team member image

    Nick Diplos

  • Team member imagePreview: Team member image

    Joe Bailey

Technologies

Technologies section imagePreview: Technologies section image

We used: Frontend: React Native, Expo Go Backend: Node.js, Express, Python, PSQL Testing: Jest, supertest Hosting: ElephantSQL, Onrender Key libraries: Numpy, psycopg2, child_process, expo-av

Justifications for Python:
Better number processing libraries, classic language for machine learning, we also created a simple neural network in both JavaScript and Python which showed Python had better/faster capabilities for this.

React Native: We felt the application was more suitable for mobile and wanted to practice using this new technology

Challenges Faced

One of our main challenges was getting our data - we were getting song data from one API and using that data to make a request to another API for the song preview and album art. In the end, we decided to create our own database using data from both APIs in order to streamline the process and speed up requests.