Inspiration
Studies show that listening to music while working out increases exercise performance, including endurance, power, and strength. Studies also show that exercising with music at the ideal tempo enhances exercise performance by 15%. FitBeats optimizes your workout by generating a specialized, tempo-based playlist based on your exercise routine, length, intensity, and your music genre preferences!
What it does
On FitBeats, users can create a routine by selecting exercises from one or more of the following categories: cardio, weight lifting, yoga, calisthenics, stretching, pilates. The user will be able to choose how long they want to do each exercise, how intense they want their overall exercise to be, and their preferred music genre. Once the routine’s length and intensity and the music’s genre are set, FitBeats generates a playlist of songs from Spotify and displays it on the application. The longer the workout, the more songs there will be, and the more intense the workout, the higher the songs’ tempo (measured in bpm). Once the user has their playlist made, they can access it from their activity page, which stores their created playlists, and work out to it again anytime.
Additionally, the front page of FitBeats has exercise routines and playlists that other users have made. Users are able to work out to these playlists and favorite them for later use.
How we built it
The backend (functionality) was made with Python, using the Django framework. The frontend (design) was built using HTML, CSS, and JavaScript. We also used Spotify API to collect all the data about the songs, and Google API for the login.
Challenges we ran into
One challenge that we faced while working on this project is that we initially wanted to use React for our UI. However, that would require building the UI from scratch—something that we simply couldn’t budget the time for given the magnitude of what we wanted to accomplish with our project. We quickly pivoted to using HTML and CSS, and put in maximum effort to make this our most visually stunning project to date.
Accomplishments that we're proud of
We are proud that we implemented the Spotify API and Google Login API. It was our first time using the Spotify API, and that challenge was especially daunting given that the Spotify API required us to use lots of images and audio, which can be troublesome to implement. To recommend music to users, we utilized the API’s get recommendations feature. We are proud that we successfully used the Spotify API to filter through songs to support mental and physical health through exercise. Additionally, we are proud of the graphics we used for this project. Each playlist is shown as an individual card with different pictures from the first couple albums on their playlist.
What we learned
We learned how to use the Spotify API and how to implement visual images and audio in our project. We also learned good programming practices for Django, and HTML and CSS styling skills. Furthermore, we learned how to use JavaScript in a front-end application for design.
What's next for FitBeats
Next, we would like to add short video clip demonstrations showing how to perform each workout safely. We would also like to expand the audio so the whole song plays instead of only the sample. Additionally, FitBeats will feature a favoriting system where users can favorite playlists created by other players, encouraging users to try each other's style of workouts.
Log in or sign up for Devpost to join the conversation.