Inspiration
Since the pandemic harmed the live music industry, we wanted to create a network where Texas A&M musicians can meet and "jam out!"
What it does
Jam Out recommends similar musicians to each other based on their music taste, using a machine learning algorithm and advanced web design.
How we built it
First, we began by implementing a tensorflow deep learning algorithm with embedded systems. We created the sample users using the Spotify API for possible songs and genres as well as a rating algorithm based on their chosen genres. Then, we trained the model based on the user data, genre data, and rating scores. Ultimately, the algorithm returns a group of the best matching users. In order to display the results, we consolidated the user profiles and recommendations into a website using HTML, CSS, and JavaScript. We linked user pages and subsections with clever file organization, and we utilized a base template with navigation and background settings to create a fluid, consistent format that is all-encompassing yet user-friendly.
Challenges we ran into
- Testing and tweaking the algorithm (analogous)
- Understanding the Spotify API
- Formatting and creating CSS
- Consistent navigation bar
- Working and modifying bootstrap templates
Accomplishments that we're proud of
- Making a consistent navigation bar
- Installing tensorflow and the appropriate environment
- Scraping data from the convoluted Spotify API
- Adapting the tensorflow algorithm to an analogous situation
- Connecting the webpages together seamlessly
What we learned
- HTML tag system (buttons, navigation bar, search bar, linking, images)
- CSS styling and overwriting system
- JavaScript functionality and csv reading
- Using the Spotify python API, Spotipy
- Learning how the ML works (batch size, epochs, learning rate, KNeighbors, embedding systems)
- Shifting the algorithm to the situation (data setup, variable modification)
What's next for Jam Out
- Hosting the website onto a web service like AWS
- Storing the data on SQL database and accessing through Promise requests
- Adding custom JavaScript animations and dynamic capabilities
- Further configuring the model to be more accurate
- Using real user data
- Changing the font size for the visually impaired
- Optimizing webpage linking
- Adding venue and messaging functionality
Built With
- css
- html5
- javascript
- keras
- machine-learning
- numpy
- pandas
- python
- sklearn
- spotipy
- tensorflow

Log in or sign up for Devpost to join the conversation.