Inspiration
Our brainstorming focused on solving challenges we faced in our-day-to-day lives. As students, we realized that we are all busy with classes, studying, projects, etc., but have found it difficult to find an effective tool to manage our time. Specifically, we realized that popular scheduling and tasks apps required significant amounts of time to set up and were not easy to adapt, transforming technology intended to save time into a massive time suck. Therefore, we decided to create an ML-powered scheduling app that uses a couple sentences of user speech to optimally place a user's task.
What it does
Smart scheduling records speech via a phone widget transcribes it to text using Google's Speech to Text models, structures it using natural language processing, and finally deduces an optimal time for this task in the user's schedule. It's powered by an optimization algorithm that seeks to find the best slot in the schedule while taking into consideration the user's availability, other pending tasks, the location of the task, and even the weather!
How we built it
Smart scheduling was built using a combination of Java and Python, relying heavily on the library Flask as well as pre-trained named-entity recognition models in addition to the Google Calendar API.
Challenges we ran into
We faced difficultly in creating a remote server to connect the front and the back end of our project as well as aligning the inputs and outputs of the user interface and the backend implementation. Further, we were not able to fully integrate reinforcement learning into our model. We had a lot of ideas for improvement but due to our team's continuous effort and collaboration, we were able to build an MVP that works!
Accomplishments that we're proud of
User interface is effective and intuitive and the named entity recognition component has a high accuracy rate.
What we learned
We learned how to use Flask and ngork, how to use the google calendar API, and how to brainstorm and collaborate effectively as a team in short time spans.
What's next for Smart Scheduling System - Productivity
First, we want to scale up the implementation of our application so that calendar API tokens can be generated for every user. Second, we want to expand the complexity of our scheduling algorithms, specifically by learning from user feedback.
Log in or sign up for Devpost to join the conversation.