Inspiration

After a significant period of time spent brainstorming ideas, one of our team member found that all of the existing mood tracking applications failed to provide a convenient way to export data out of the service. We decided to use this problem as our inspiration for creating an app that can keep track of mood data while also allowing users to export data into commonly used file formats.

What it does

The mood tracker that we build keeps track of mood data entries and keyword events that users have entered. This allows for the app to keep track of how the user feels over a long period of time. Further, the keyword entries allow the app to keep track of how often certain activities or events recur, and whether they are more likely to recur based on overall user moods. The app also allows for users to configure push notifications to get periodic reminders to add moods to the application. The application also allows for users to easily download their data.

How we built it

We built our application using Angular to build a rich progressive web application client that can run on web browsers and be installed on cell phones. In order to facilitate notifications, we built a node.js server that could use the latest web standard to send push notifications to clients at regular times.

We employed the Angular Material library to help make the user interface as well as the ngx-charts library to display data.

Challenges we ran into

We wanted our app to be easy to use and install across many platforms, thus a web app seemed like the ideal system. However, we also wanted to send our user notifications to encourage them to track their moods at regular times. Luckily, Google's new progressive web application helped us solve this conundrum. PWAs give web pages permanence with serviceWorkers which are installed on the user's computer. These serviceWorkers can receive push notifications allowing them to do work, even when the page isn't open. This allowed us to make our application easily useable from any browser, while still having notifications, even while its no open.

Accomplishments that we're proud of

We are proud of the complete UI and used new technologies to allow a native like experience to be attained with minimal friction. We are also proud of how much we learned in such little time. Many of us used completely new libraries and started this project with no knowledge in Angular.js.

What we learned

We improved our angular skills. Three out of four of our members were new to the framework and they attained a great deal of proficiency in a short period of time. We also learned how to send push notifications to a web application and use ngx-charts to make beautiful data visualizations.

What's next for MoodyBoiz

First sleep. After that, we hope to use out platform to provide users with further insight. We would like to take the data our application collects and, with our users permission, apply machine learning to make predictions using the data. This information could then be funneled back to the user to help them make informed decisions about their mental health.

Share this project:

Updates