2020 has definitely not been a year to remember. The COVID-19 pandemic, deaths, lockdowns, job losses, racial violence and just recently there was the news of a popular Indian Bollywood actor (Sushant Singh Rajput) who committed suicide (which was very disturbing)—it's like COVID started as a spark and now it has turned into a forest fire of negativity.
With everything seeming so grim right now and seeming completely out of control, I felt like there was a need to bring an element of gratitude back into our everyday lives. A reminder to count our little blessings. Just a tiny drop of positivity amidst the forest fire could do our mental health a lot of good.
I think Dumbledore put it way better than I ever could—"Happiness can be found even in the darkest of times if one only remembers to turn on the light."
That was my inspiration behind taking some time out to build Gratitude Genie. :)
What it does
Gratitude Genie is a conversational everyday gratitude journal. Following are its key features—
- Conversation Journal that makes your journal experience fun and engaging
- Timely reminders
- Journal Streak Count
- User Mood Tracker
- Save Gratitude List
- Beautiful wallpapers updated dynamically
How I built it
I have built this application using React Native. I started by thinking about the bottlenecks that prevent you from journaling on a daily basis. Then, it came down to problem-solving and forming the feature requirements.
After that, I had to plan the conversational flow. How could Gratitude Genie help on days when you just didn't feel grateful for?
Chaining is something I picked up from the book "Atomic Habits" and so, I implemented a quick journal streak counter and mood tracker. This can be helpful in maintaining accountability for the way you feel on a daily basis and help you form long-lasting habits.
Wallpapers were added to introduce some spice and a separate gratitude list was added so users can reminisce about their past victories/ memories from time to time.
That's how I ended up building Gratitude Genie. And of course, caffeine helped a great deal as well ;)
Challenges I ran into
I wanted to build for both iOS and Android. So, it came down to React Native vs Flutter. I went ahead with React Native considering the time deadline and the fact that I was coming from a web background with no prior experience in mobile app development.
Also, I fist had plans of making it a messenger bot. But, ensuring user privacy was a challenging aspect there. The standalone app, even though time-consuming to build offered a lot more flexibility in terms of features.
Accomplishments that I'm proud of
This was my first mobile application and.. my first hackathon as well. I like the fact that I've been able to develop it for both Android and iOS devices and that it is in the mental wellness category, which means it can have a significant impact on people when executed well. If this app can improve the mental health of even a single user on a day to day basis, that would be the accomplishment I'd be most proud of.
What I learned
From the technical side, I got to learn a lot about mobile app development. I got well versed in React Native and other frameworks. This was the first time I got to be both the product manager and the developer. Another important learning was that ideas don't really work unless you do the work. You can ideate a lot of features, but none of that manifest into reality until you turn it into code.
What's next for Gratitude Genie
- Get feedback from early users.
- Make the conversations more personal and engaging.
- Think about user privacy and implementing anonymous features where people are able to talk openly about depression etc.
- Can also implement analytics to track user's mood over a timeline
- Can add Facebook Sign in as well to Google