One of the classic study tips that schools preach is the practice of task decomposition— breaking down big tasks into smaller ones to alleviate stress. Our team wanted to elevate the task management experience by taking in users’ tasks and algorithmically breaking down and scheduling all of these bite-sized tasks into their calendars.
What it does
Our platform takes users' inputted assignments and breaks it up according to user-determined parameters, including their imported and existing Google Calendar events, wake-up and bedtime, number of blocks, and estimated time to complete the whole assignment. After signing in with Google, users can automatically view their imported Google Calendar events in the schedule view of our platform so that they can plan their work time around their existing events.
How we built it
We build this application with the Flask framework and used the google cloud calendar API. The algorithm was mainly written in python and all the front end framework is in html and css. As a product-first oriented team, we designed Docket from its low-fidelity to its high-fidelity and its design system through Figma.
Challenges we ran into
We had difficulty because the template formatting code we used was in scss (rather than css), but we were unsure how to use that. We also ran into difficulties with the algorithm because we weren't sure what we wanted to take into account when scheduling blocks.
Accomplishments that we're proud of
We are proud of our robust scheduling algorithm which is able to find optimal timeslots to schedule tasks while taking into account the user’s pre-scheduled calendar events and preferences. The algorithm is unit tested to account for most realistic edge cases for all parameters. The design in Figma is also very user friendly and intuitive for students to schedule their assignments.
What we learned
From this project, we learned about how to build a web application and use the google calendar API. We also learned more about study habits and how to better manage our own schedules!
What's next for Docket
We plan on finetuning some front end aspects, then deploying the application!