A large problem that many students face every single day is procrastination and poor time management. While this problem is less severe compared to other educational issues, it is so widespread that if unchecked, can lead to life long issues. This especially becomes transparent in the later stages of life, as many goals and ambitions lack deadlines (losing weight, improving your relationship, getting a better job, etc). It is integral that students develop a healthy relationship with their deadlines before they fall into a constant cycle of “I’ll do it later”, panicking, cramming, and repeat.

Introducing OnTrack, an intelligent organizational app that uses machine learning to produce near-perfect predictions of how long specific assignments will take using user input and learning from previous user-inputted time. Overall, the more information the user plugs into our application, the smarter it gets for more accurate predictions. This blows most other organization apps out of the water in terms of sheer applicability and usability, as during our market research we found zero applications that exist that have integrated ML into everyday tasks and assignments.

What it does

The goal of OnTrack is to create a personalized study plan for a student that is able to learn based on the student’s previous working time for each assignment. Users can import their Google Calendar into OnTrack to sync their assignments into OnTrack by signing in to their google account. This helps the user save time with reentering event details from homework and events, as well as have an account they can use to monitor their stats.

Assignments are separated by subject and type (ex. Lab, WebAssign, etc.) to gauge a student’s level of ability in each course, based on user-inputted feedback, and accordingly recommend them a certain amount of time to allot for each type of assignment. The program compares the professor’s estimated time of completion given to the students actual time taken, and predicts the amount of work required for future assignments in the same category.

The application also has different graphs and visualizations for completed work that breaks down how long each section at the end of each week. This new method of approaching deadlines helps students know when to start assignments to pace themselves and finish them on time, effectively increasing time spent per day which correlates to better performance. The beauty of this is that it adapts to your specific study patterns, habits, workload, and performance for a personalized and customizable plan. You can even plan ahead using the Upcoming Tasks section for next week’s work of that information is imported from the Google Calendar.

How we built it

We decided to build our application using React JS for the front-end, Express JS / Node JS for the back-end, and a Python application for server side ML-based calculations. Along with this, our project heavily relies on the Google Cloud Platform for access to Google Calendar APIs, and uses OAuth2 for secure authentication when using our application. To design our UI, we used both Figma-generated and bootstrap components to create a clean/simple design, making it as easy as possible for users to navigate through the application. Furthermore, we kept ease-of-use as our top priority, and ensured that the only user input required in the application would be for time taken to complete assignments. Overall, we created an application that integrates both frontend and backend effectively, and is able to deliver a secure yet simple experience for its users.

Challenges we ran into

One main challenge that we faced was related to authentication in the Google Calendar API to gain access to specific users’ calendar entries. This was critical in ensuring the accessibility of our application’s functionality.

Accomplishments that we're proud of

Despite minimal front-end experience, team members were able to expand their knowledge of React JS and create a full-stack application. We also met our constraint of ease-of-use, and designed a clean/simple UI which required minimum user input.

Moreover, we were able to gain familiarity with ML in a limited period of time, and, as such, effectively differentiate our application from other similar planning systems.

What we learned

We learned about using neural networks and ML to create a Regression-based algorithm to predict the amount of time it will take a particular user to complete a specific task with increasing accuracy. We also learned how to use APIs, and integrate data collected on the front-end with React JS.

What's next for OnTrack

We will proceed to integrate data in our prediction algorithm to maximize the accuracy of the predicted amount of time an assignment will take. Future data gathering will be on a larger scale to assess course-wide trends among all users. ML will use this data in accordance with personal user inputs.

Built With

Share this project: