People perform better when they know what's going wrong with them. So with a mood tracking app we hope to help people know their moods and habits and help them perform better!
What it does
It analyzes the user's outgoing text messages and FB posts via NLP techniques to determine the his/her mood pattern in the last 24 hours.
How I built it
We used Android Studio to make a framework of our project and it's UI in Java and used telephony.sms.sent package to get the user's outgoing messages. Additionally,we used the FB Graph API to get the user's FB posts and Parse to implement the database. For the classification process, we built an endpoint in Mathemetica using a classified training data set and called to that endpoint with the users' messages for sentiment analysis.
Challenges I ran into
It was our first time developing an Android app and not having much experience in Java didn't help much :P Plus Parse can be unforgiving at times!! (Many Thanks to Raghav Sood for guiding us all along the way :))
Accomplishments that I'm proud of
We overcame all the difficulties and finally got it to work! Getting all the APIs working together was a little hard but we made it!
What I learned
- Android App Development
- Facebook Graph API
What's next for Moooooodify!
- We will be improving the statistical analysis of different inputs specific to each user by creating a trial period for the app at the end of which the user would answer questions about his mood during certain messages that he sent during the trial period for a more customized training set.
- We will also include more emotions than just Happy and Sad, for example Anxious!
- We plan to analyze different aspects of the user's life in addition to their social mobile interactions, like their Physical activity, and their music choice to determine mood.
- We will add functionality to provide tips to people based on their mood levels - If a person is 75% happy, we may link him or her to a fun animal video, or if it is more serious, like minimal physical activity, and low mood levels for extended periods of time, offer helplines, and urge the user to contact friends and family for support.