Inspiration
*Inspired by the desire to combine fitness and health communities (of which several of our team members are involved) with a passion for ambience in music, our team, FYFP, opted to create Tempo.fy with runners, climbers, swimmers, and all other athletes in mind. *
What it does
Tempo.fy takes in user's FitBit heart rate data, along with their desired playlist from Spotify, pairing their rhythmic pulse with their favourite songs of the same tempo, contributing to ambience, energy, and overall positive mood.
How we built it
Tempo.fy functions as a product of three primary considerations: Back-end algorithms, intermediate use of Flask frameworks, and Front-end UI, Brand and Website Systems design.
Back-End Our algorithm accesses Song ID’s from the specified playlist, cutting its Playlist ID from the input link, and iterating through the playlist’s “Tracks” keyset. From there, we were able to extract several datasets from each track, the application in our instance was the tempo of each song. Sorting a list of all songs by tempo gave us an ordered list of all songs by tempo, in which we iterated through to find the ID of the closest song to the prescribed Heart Rate.
Using a simple Flask framework The Front-end UI was created using html. Our flask web framework provides a service where we can run our algorithm in visual format on our website.
Front-end UI, Brand, and Website Systems design Branding our product was an interesting task because we wanted it to represent the two facets of the application - heart rate and song tempo. Branching off from these two core ideas, we created a word cloud relating to fitness and music to brainstorm names for the product. A few of our suggestions included “Heart-rate DJ” and “Fitify”. Most existing applications that use Spotify API (such as Obscurify) have been following a trend of ending their products name with “fy” and so did we. We ended up calling it Tempo.fy. The logo was inspired by the existing Spotify logo but we wanted to involve a heart rate wave from an ECG machine. We were going to have three heart waves like the spotify logo has three arcs but we decided against it as it was too complicated.
Challenges we ran into
Most of our challenges arose in the initial development of Tempo.fy and its implementation using unknown software skills.
Accomplishments that we're proud of
We are proud of our Successful implementation of GitHub and Git as a first year team As a first year team, our team had minimal experience using Git and GitHub. We were able to understand Git and how it is used in collaborative projects by helping each other diagnose any minor technical setbacks/merging issues/branching difficulties. Discovery and use of open developer-use Spotify API Without previous experience using public APIs’ in a semi-formal context, we are proud of our ability to discover how an API works and how to call requests from, and pass values through, one in Python3. Use of Flask to conjoin UI and BackEnd work Learning Flask through this project was extremely rewarding, and allowed us to facilitate some aesthetic targets for our product Achievement of our target goal We made a product that was functional to our ability that achieves its intended purpose from the start of SYNCS HACK 2023. Teamwork and work cohesion/consistency
What we learned
We believe that seeking help from others is critical to success in a Hackathon. Our mentor Luke, was able to provide insights into areas never before delved into, giving us the opportunity to ensure Tempo.fy is fully functional. We can achieve a lot more than we expect, so FYFP has learnt not to underestimate ourselves
What's next for FYFP TEMPO.FY
Tempo.fy will attempt to implement FitBit heart rate data in real-time to be able to queue songs for a user, reducing the need to refresh pages, enter their own heart rates, and play embedded tracks from a website. A conversion into an iOS/Android application is desired in the future as most people listen to music on their phones


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