Inspiration
SmartInterrupter was inspired by Jason and Anthony's initial project ideas: a smart alarm clock and a smart Pomodoro timer. The smart alarm clock was meant to wake up the user at the optimal point in their sleep cycle so that they did not feel tired the next day. Meanwhile, the smart Pomodoro timer was meant to point a camera at the user, observe things like their facial expressions, and interrupt them to have them take a break based on data collected from its observations. SmartInterrupter is the abstraction of these ideas: it is meant to be an interface that collects data from the user, then uses this data to calculate the optimal point in time to interrupt them.
What it does
SmartInterrupter takes the form of an API. The client can call endpoints that create users, retrieve user data, create sessions, start sessions, end sessions, or delete sessions. All of this information is stored in a MySQL database that is updated whenever the client calls relevant endpoints.
Additionally, we have been developing a naive algorithm for the SmartAlarm, which would be able to take in collected user data (ex. breathing rate) and calculate the optimal time to wake the user up. This would go hand-in-hand with our current API to bring our idea closer to the finish line.
How we built it
We used Flask as a REST API to connect with our Python backend. We initially stored hard-coded data for our endpoints to work with, but we eventually transferred this data to a MySQL database and updated our endpoints to work with the database, in order to ensure that large amounts of data can be efficiently stored.
Challenges we ran into
- Understanding the biological aspects of sleep cycles in order to develop our naive algorithm
- Setting up SQL/MySQL (this took surprisingly long) ## Accomplishments that we're proud of
- Creating a fully functional API
- Successfully learning and leveraging new technologies to build something meaningful ## What we learned
- Creating API endpoints
- Working with SQL/MySQL
- Applying new technologies to real-life scenarios
What's next for SmartInterrupter
Our next steps for SmartInterrupter (and its SmartAlarm/SmartPomotimer derivatives) would be to develop ways to actually collect user data that can be fed to our algorithm. For the SmartAlarm, this would likely involve data collected by smart watches, since we would need the user's heart rate and breathing rate. Meanwhile, for the SmartPomotimer, this would likely involve data derived by AI analysis of the user's facial expressions. After this, we would work on improving and refining our algorithms, so that we can ensure that we are in fact interrupting the user at an optimal point in time.
Log in or sign up for Devpost to join the conversation.