Inspiration
We all shared the common problem of running short of time in college, especially when it comes to deadlines and our leisure times. Having very erratic schedules, we feel that college students like ourselves are in great need of a planner that will adapt easily to ourselves, allowing us flexible schedule.
What it does
Taskify helps you to kill procrastination by automatically scheduling your "commitments" and "tasks" through a convenient and intelligent voice assistant. It will look at the fixed schedule you have so far, i.e. class/work, and then plan your schedule ahead according to an in-house heuristic algorithm.
How we built it
We tried to incorporate Houndify as a speech-to-text library that will listen to the user's events and add them to a list of events. The events are categorized into two categories, commitments, which have the highest priority, and tasks, which depending on the user's input, could be optional, (i.e. eating out with friends). We thought of using a custom heuristic calculation that involves a function of the deadlines, time estimated to complete and difficulty but soon realized it would have been a NP hard problem that was in a way similar to the knapsack problem. Though unable to finish integrating the frontend parts, the backend is mostly complete.
Challenges we ran into
Our approach to scheduling was inspired by real time scheduling algorithms used by processors to schedule threads. First, a user’s calendar events are split into two categories: time commitments (class times, meetings, etc) and tasks (homework, projects, etc). We first schedule the time commitments into their respective time blocks, and with the remaining blocks of free time, we schedule tasks for the user in hour blocks. Initially, we intended to use a Rate Monotonic Scheduling algorithm, but since most tasks do not repeat we could not assign task priority by shortest period. To overcome this, we made a greedy decision to assign priorities based on the amount of the assignment completed, time till deadline, and the difficulty of the assignment.
Accomplishments that we're proud of
We spent heavy effort in the UIUX design and ensuring perfect in quality and experience. Though unable to finish, the idea is innovative in itself and very practical to use.
What we learned
When planning the multifaceted life of a college student amid the myriad of commitments, despite the confusion, such events are quite quantifiable. With metrics such as time until deadlines, priority level, difficulty of task, and frequency per week as well as responsiveness to other events, schedules can be organized very well by machines. It is surprising to learn that machines can plan our lives well given that they don't have lives themselves.
What's next for Taskify
The next stage for Taskify is to increase the diversity of events the application can recognize, and have it learn your habits and duration of time it takes you to complete certain tasks. This way, Taskify can become increasingly personalized and help you live with maximum efficiency. In addition, Taskify's notification features will be timed optimally to remind you when you should start each task, and these reminders will even extend to wearable technologies such as Pebble so that you are sure to stay on schedule.
Built With
- android-studio
- houndify
- java
Log in or sign up for Devpost to join the conversation.