Inspiration
As developers, we tend to face issues related to attention deficiency, poor mental health and a decrease in productivity due to staring at the screen all day.
What it does
- Posture detection of the user and prompting if the posture is incorrect
- Suggesting music to the user on basis of their emotions
- Displaying graphs displaying attentiveness of the user
- Suggesting Trending articles/repositories to users to cherish their knowledge
- On basis of screentime, reminding the user to take refreshment breaks
Calming UI
Easify has a calming UI that is pleasing to the eyes and soothes the mind. This design is developed to enhance the productivity of the developers.
Pose Detection
Developers sit all day in front of their computers, and it's essential to keep in mind their health. Sitting in the wrong position is known to show a lot of adverse effects on the health of people. To resolve this issue, Easify has a pose detection model that tells the users if they are sitting in the wrong pose. It even highlights the percentage of wrong and correct poses using which users can correct pose.
Emotion Detection
Everyone talks about the physical health of the developers but what about their mental health? Studies have shown that mental health is the most important factor to keep a person productive in their work. So, Easify comes packed with an emotion detection model that predicts users' emotions from their facial gestures and sends frequent emotions to help the developers in tracking their emotions. These notifications also allow the users to play music if they are found to be sad or happy.
Mood-based music
Easify can detect users' moods/emotions from their camera but this is not it! We have enabled Easify to play uplifting music if they are sad and joyful music if they are happy. It is all done with the combination of Youtube API and Cockroach DB.
Attention tracker
Developers tend to lose focus while working. To make them more productive, Easify shows developers how attentive they were in the last 5 seconds. This attention tracker not only keeps a track of the head movement but also the movement of eyeballs which makes it super efficient in tracking the focus of the user.
Attention tracker graph
Users can also see the history of their attention and the number of times they were distracted by the means of a beautiful and easy-to-understand graph.
Refreshment break reminder
It is well known that taking breaks while doing your work increases productivity. So, to make developers more productive, Easify notifies them to take breaks after a fixed interval.
Website blocker
It is possible that users might try to use websites like Instagram and Facebook while focusing on their work thus reducing their productivity. So, to tackle this, Easify is equipped to block such websites with an inbuilt website blocking feature.
24/7 up-time
Easify is built to track users' productivity, and thus, Easify never rests, not even when Chrome is closed! Easify is always on its toes to serve its purpose of being a good productivity tool.
Security of users' data
All the classification and machine learning models are run in the users' browsers, and no data is transferred anywhere!
How we built it
In short, sweat and tears :') We split the code into parts based on the features. We've also created folders for the client and the server. We integrated CockroachDB with our backend and deployed it on Heroku. On the client-side, we integrated YouTube API and used 3 ML models for various features that we implemented.
Challenges we ran into
- It was difficult to integrate Spotify API. Finally, we had to drop that idea because Spotify doesn't allow playback for non-Premium users.
- It was difficult to integrate YouTube API too. Finally, we weren't able to play YouTube playlists on the extension so we resorted to playing individual songs.
- It was difficult to figure out camera permissions in a Chrome extension
- We were facing issues with CORS and content-script
Accomplishments that we're proud of
- This thing actually works :)
- We were able to use the camera for three different ML models (Pose detection, emotion detection, attention tracker)
- We finally managed to play some music within the Chrome extension.
What we learned
- How to create Chrome extensions
- Integrating APIs in JavaScript
- Handling large amounts of code and splitting them into different files
- Learnt about CockroachDB and how to connect it with NodeJS backend
- Deploying backend code on Heroku
- How to work with YouTube APIs
- How to work with Spotify APIs
- Learnt about Face landmark detection and predicting the emotion of the user based on that
- How to change scripts of other websites in order to block distracting websites
What's next for Easify
- We can add a greater variety of songs to the database
- We can add user authentication and store attention tracker data in the database
Log in or sign up for Devpost to join the conversation.