Team Codefellaspresentshufl.fm

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
Rob Lehane
Louis Roach
Nick Diplos
Joe Bailey
Technologies

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.