As students and engineers, our team has experience the difficulty of balancing all aspects with life. We wanted to raise awareness for mental heath and how it affects us in so many ways, including productivity!
What it does
Data Analytics/ Machine Learning desktop application to analyze a user's work data and goals to report smart, personalized tips to increase productivity (and cut out pesky time wasters). We built a desktop application and a Chrome extension that monitors/tracks user's web interactive data to generate trending reports and analytics to benefit the user. The desktop app has an interactive calendar that the user can export/import to Google Calendar. The user self reports goals and tasks and our application analyzes this data and tracks against a self-reported productivity index to find out: where online, where in person (with geolocation data with Google Maps API), what time, and how long you were productive. It generates analytics to give user develop patterns of when their productivity index was the highest and spot time wasters on unproductive websites/places.
How I built it
We built most of our application in python on the Google Cloud using Mongo DB. Our User Interface was built on HTML, Node.JS, CSS. We used the association rule for learning from the data. We used Plotly and Numpy python libraries for data analytics. We ask the user for personal goals where we generate a productivity index, determine information of when the user is unproductive or productive. We track the websites that the user uses, the location the user was working, the times, and we compare this data against planned work expectations and whether or not the user felt productive. We have reminders and reporting diagnostics that give the user all of this helpful information. We built the application as a chrome extension as well as desktop application. In addition to our project, we developed a UiPath automation that the user can receive automatic updates/reminders of their goals and to stay productive! The UiPath automation scans the user's desktop information, including screen content (for analyzing websites) mouse and keyboard data, to determine when the user needs a reminder to stay productive and to keep on track with their goals. The automation looks for inactivity as well as known flagged "unproductive" sites to help the user.
Challenges I ran into
Our biggest challenge was connecting everything - from the server side to client side. We had a bunch of issues connecting to the cloud with our database that we had to work through. We had some Flask issues as well.
Accomplishments that I'm proud of
Building a complete project that could help make a difference! Also, working through all of connecting and code errors! Our favorite feature is the "Relax" button on the application which opens pictures of cute (and original - we have an artist on our team!) meowing cows while playing a fun song. As we found in our research, taking breaks and stress release can be a huge benefactor to productivity!
What I learned
We learned a lot about Google's platform applications including the Google Maps Geolocation API, Google Cloud Platform, and Google Calendar - all of which were new to our team!
What's next for Balanced: A New Way To Productivity
We have a lot more reporting and analytics tools that we plan on testing and building! We see this project being a focal resource for employees/ students to learn from their past work patterns and develop new habits/ systems that will work for them! Some of our features can definitely be fine-tuned to provide a better user experience.
Thank you MLH and University of Arizona!!!
A huge thank you to all of the amazing volunteers and mentors who helped us! And to the therapy dogs and their owners - a much needed break and motivator! :)
Art Work by: Shelbi Graham