Inspiration

We are all currently university students with one thing in common: we can never get up in the morning. Our inspiration for this project were the daily battles with sleep, which often leads to an unproductive, groggy, start of the day.

With the constant pressure to balance schoolwork, extracurriculars, hobbies, and social events, students are always in a fight with time. By optimizing the process of waking up, we hope that other students can use our tool to effectively start off their day.

What it does

Rooster is a personalized alarm system—it utilizes a machine learning backend to fetch the most ideal alarm music to wake up the user with increasing efficiency over-time. By using the reaction time of the user to a given alarm song, our model will use various facets to generate songs with increases in refreshing musical features, such as higher tempo, liveliness, and valence to elicit a faster response. Like other alarm apps, the user can add, and delete alarms as they please.

How we built it

Rooster is built with a Python ML Model + Flask, React Native frontend powered by Expo CLI and REST API's.

Challenges we ran into / Improvement

A challenge we ran into while building our machine learning model was that we did not have the most optimal data that would have allowed for better training, and had trouble deciding which approach would yield the most accurate results in giving song recommendations. With connecting the frontend and backend, we had significant problems due to not being able to install necessary third-party libraries. As well, this issue seeped into the frontend development as we were unable to use third-party libraries that would have eased the development of the home-screen time selector, and notification of the user.

For future improvements, we could have mined much more data about user preferences from Spotify to improve the accuracy of our machine learning model and the quality of its recommendations. We could also add some quality of life features such as seeking to certain times in songs and snoozing the alarms.

Accomplishments that we're proud of

We are proud that this is nearly a fully-implemented application that users are able to see in action in our video demo. Completing each of the big milestones such as a successful ML model for predicting the songs, successfully connecting routes and requests to the frontend and backend, respectively, then completing a majority of the frontend were large accomplishments we are proud of.

What we learned

As a team, we learned how to work together and fill in each other's gaps in knowledge. Each team member had designated roles, however we all worked in a way that allowed for each individual to experience significant learning in all aspects of the project. Each team member learned more in-depth about the language in their respective domain, and even learned some languages day-of in order to be able to implement certain parts of our application.

What's next for rooster.

sloth.

Share this project:

Updates