Inspiration
As college students, sometimes it is difficult to figure out when to optimally squeeze in studying time considering the ever-changing landscape of test dates, homework due dates and project due dates. With Schedulize, we aim to smooth this process and offer an optimal study schedule based on the student's given workload.
What it does
Schedulize takes a user's Google Calendar, regular sleep & meal times, and generates an optimal schedule based on upcoming tests, homework due dates, and project due dates. The schedule is designed to never conflict with any Google calendar events scheduled such as classes, and sleep & meal times. The user inputs their estimated time to complete assignments and based on the type of assignment the app will allocate time slots following pre-implemented models we designed in our code. We believe that this will create the optimal schedule for the user to know how they should spend their time productively.
How we built it
The app was built using react for a responsive user interface, while using the Google Calendar API to extract the users calendar to sync tasks. A .css file was used to create formatting for the app, while most of the code for the programming was written in JavaScript.
Challenges we ran into
None of us have ever worked on backend with things like firebase or MongoDB, so despite hours of attempts we were unable to get data storage as we had planned. Furthermore, we ran into a multitude of issues during the testing/debugging stage (overlapping events, events at impossible times) that we eventually resolved.
Accomplishments that we're proud of
We are proud of the fact that all updates are instantly synced to Google Calendar, and that it generates no time conflicts. Additionally, we are proud of the fact that the study sessions are generated hierarchically depending on the assignment type. We also truly believe that this is a very well optimized scheduler creator, so we are proud that we were able to make an app that can be of use to students.
What we learned
We learned how to effectively use Oauth, and the google calendar API as well as how to effectively delegate tasks, keep consistent documentation, and manage the project in general
What's next for Schedulize
We aim to implement some redundancy checks that would allow Schedulize to reschedule study sessions for more urgent deadlines. In its current state, if an assignment with a later deadline is input before one with a sooner deadline, it is unable to reschedule the study sessions for the assignment with the later deadline. Furthermore, we want to eventually implement machine learning, such that the user will tell the program how long they actually took to do an assignment, and the program will eventually be able to create its own expected completion times for that user based on the data they have submitted thus far.
Log in or sign up for Devpost to join the conversation.