I personally like to journal a lot. It's instrumental in helping my understand my own mental state during times of highs and especially times of lows. When I flip through my journal in the past, it's only then that I start to realize the patterns that developed and the big picture emotional swings I was in. Thus, I thought: why doesn't there exist a way for me to journal while having easy view and access to my mental state?
What it does
Vibes allows you to write down your thoughts like in a traditional, but gives you further tools to help understand yourself and help you stay on track to a better mental state. When you complete a journal entry, it adds that entry to the database along with a calculated sentiment analysis value. This ranges from 0 to 1, normalized, and changes the calendar view to help you see this change immediately. Green days indicate positive days while red days indicate negative days. You can see this change immediately, and can take action if necessary.
One of those action items is to text you a message depending on how it seems your week is going. It has three distinct messages you can send yourself as a pick me up to try to motivate you further in taking care of yourself.
How I built it
I build this through the use of stdlib's apis--airtable and sms--and ml-sentiment library for sentiment analysis. I used nodejs for server application communications with the front end.
Challenges I ran into
I struggled with using the sentiment analysis a lot and using it, but finally figured out how to use ml-sentiment analysis and how to normalize it into a hex value for the calendar
Accomplishments that I'm proud of
Learning how to use stdlib's airtable api to populate a database was a huge win and very motivating. It was also a test to myself to see myself grow as a developer from freshman year. I came from a place where I felt major imposter syndrome to showing myself that I was able to build this from beginning to end.
What I learned
I have a better grasp on nodejs now along with an interesting new service, stdlib, that I see amazing amounts of potential for in my future applications.
What's next for Vibe Journal
If this project were to be taken further, it would be developed into a full journaling application with normal text editor functions. It would also automatically connect and advertise other mental health services near you if it determines that you might be in need of one. Additionally, it would be generalized to multiple users, have authentication, and have multiple months throughout the year, and allow more options in editing abilities.
I believe this tool can help people know when they need to seek outside help if taken further!