We were inspired by the friends of family around us that live their lives fighting depression everyday. It's easy to forget about depression when you don't have to deal with it. But for people with depression they have to fight its battle everyday no matter what's happening. That's why as a team, we want to build tools that can help.
What it does
Our hack incorporates three separate functional units, including a mobile app, website, and a server which links the two. Cumulatively, the system functions to record and visualize positive and negative thoughts to obtain a comprehensive report on their emotional and mental state using a sentiment analysis machine learning model. The application will run in the background of users’ phones and transmit messages that users type and send to a database. From there, the data will be passed to a server where an ML model will differentiate positive and negative thoughts. The results will then be sent to a website where users will be able to interact with and visualize their daily and weekly emotional fluctuation through a variety of charts. Lastly, if one's emotion score reaches a critical low, we will recommend they see a professional.
How we built it
We used android studio to build the companion app that tracks user's typed texts and relays them to our server (built via flask) which runs the data through a machine learning model to interpret the user's mood. Then we display the data in graphs on our website built via html, css, and js and statistics. We then encourage positive thinking through the use of cognitive behavioral therapy initiatives like a gratitude journal
Challenges we ran into
We found it difficult to train the machine learning model which faced inaccuracies due to training data (movie reviews) that isn't completely compatible with sentiment
Accomplishments that we're proud of
We were successful in making a prototype machine learning model. This was challenging because training takes a lot of time and understanding what models are actually doing with the training data is difficult. Accessing Android keyboard strokes was a genuine hack; this is a feature that not many apps are capable of integrating. The backend has all the functionalities needed to comprehensively link together a wide variety of services, like input devices, databases, and machine learning models, all on different platforms.
What we learned
We learned how to integrate various platforms through the use of servers and back-end technology. We used a lot of new tools which many of us had little exposure to prior to this hackathon, including TensorFlow for the machine learning, HTML/CSS for front-end development, and creating a server, which none of us had really known much about before. We learned about the challenges which arise when training a machine model to accurately assess negative and positive thoughts through text message. We also learned how to use JSON files to send information between the mobile app and the server, as well as between the server and front-end website.
What's next for positive.ly
The machine learning model is on the right track but still requires refining. We hope to find better training data to have a model that more accurately reflects the context of the problem. We plan to implement security features like message encryption and user validation. We want to strengthen privacy by giving the user flexibility over which keystrokes are read. Finally, to better serve the needs of users, we want to better integrate psychological services into the experience of the app.