For many people, the hardest part of dealing with mental health is reaching out for help. Mental health can be a difficult subject to broach--people are worried about how they may be perceived, they don’t know how to find the words, or they feel guilty of being a burden.
When CitrusHack released its prompts, our team immediately had a few ideas in the category of wellness. As college students who face moods of uncertainty and anxiety on the daily, we have struggled immensely with building a strong support network, especially during a time when isolation is the norm. Not only that, but we did not know exactly how to show our love and care for the people around us. Inspired by our own struggles, we created Nudge to offer students and, most importantly, independent people like us, an outlet for showing affection and a clear path for support during challenging times.
What it does
Nudge is a straightforward and accessible app to help people of all backgrounds form healthy support networks. Because Nudge constrains its users to a few types of “nudges”, or short messages, there is little room for people to overthink or spend time planning what to say when they need a call or text. Users can also simply send little “Love you” or “Thinking of you” reminders. In addition, Nudge has built-in animations that support users depending on what type of signal they are sending. For those in crisis, a grounding animation can mean the world. The visual representation cues users and makes it easier to get started and stay focused on their breathing. For users on the receiving end of nudges, they can quickly contact someone in crisis or reply with a nudge back to more affectionate messages. Another keyword to describe Nudge is maintaining healthy support networks and therefore, we have created an option for people who are looking to set emotional boundaries as well. When a user feels emotionally unavailable to provide support, they can toggle their profile to discreetly but publically indicate their current status.
Finally, Nudge features journaling and mood tracking for those who prefer to self-regulate. The app serves as a therapeutic aid for all users, from those who struggle regularly with mental health problems to those who want to better support the people around them.
For now, the app currently supports Androids, but it remains a work in progress.
How we built it
We used Notion to coordinate and organize Nudge: https://www.notion.so/citrushack-nudge-d63afd397b484510b0f1e5db42d4233b
The first step in building Nudge was needfinding. We briefly spent time identifying user needs in the category of wellness. Through many iterative drafts and inspiration-boards, we came up with a single user need and goal: People need a way to ground themselves when they are having anxiety attacks. Next, we storyboarded our potential problem and solution and developed the ideal user persona--Lily, an independent graduate student living alone and struggling with anxiety during the pandemic. We narrowed down our task and began rough wireframing using AWW, a whiteboard web-app. Only then did we begin the designing process with Figma. After designing around fifteen to twenty screens, we connected them into a working prototype. While we prototyped, we also developed the user register, login, main pages, and database with Android Studios and Firebase.
Challenges we ran into
As it was our first experience utilizing Firebase in conjunction with Android Studios, we had many database-related issues which included:
- Setting up dependencies and libraries for Firebase manually which lead to build errors.
- Solution: Discovered Android Studios had a Firebase tools integration that imported the necessary imports seamlessly.
- Creating the data structure for our Realtime Database resulted in multiple application crashes and interrupts.
- Solution: Creating objects with particular attributes and pushing it as a child onto the Realtime Database generated the data structure we were aiming for.
- Unable to pass objects from Activity to Fragment, preventing us from further development of the application.
- Assumed Solution: To pass an object from an Activity to a Fragment, it was assumed that we must first create a Bundle to wrap the object of interest to pass into the Fragment.
- Result: Incurred another error in which the Bundle was read in as a null object. Development halted.
UI/UX/Front-end design challenges included:
- To produce our RoundedButton, we initially created our own RoundedButton.xml shape that would be applied to the existing Android Studios Button. This restricted us in being able to color the buttons as needed.
- Solution: Discovered that Android Studios Layout Editor had a common attribute to round the button edges.
- Android Studio’s layout editor proved to be difficult to navigate due to not knowing how to add or manipulate constraints.
- Solution: Was able to get some mentor help from Zubair, who helped debug a major error that involved components and constraining.
- Struggled at the beginning with just being able to use Figma as none of us have used the application prior to CitrusHack for prototyping. Setting up frames, screens, and importing svg files were all big challenges with Figma.
- Solution: Watched a lot of tutorial videos, spent time on blog guides, and used Figma documentation.
- Design flow challenges included how to best prototype receiving a nudge. We iterated through a few different ideas, including having a separate page open up with the nudging user’s contact information to a pop-up.
- Solution: Drop-down menu for each Nudge notification with reply options to facilitate the fastest response, especially in crisis scenarios.
Accomplishments that we're proud of
The pre-prototyping design processes were drawn out for longer than we would have hoped for, but ultimately the needfinding, persona-making, inspiration boards, and wireframing ended up being the most useful in making a cohesive and well thought-out app.
The front-end and back-end implementation of the Registration and Login use-cases took relatively little time in comparison to the other challenges. The constraints were well set and the back-end communicated as expected to the Realtime Database.
What we learned
As this is the first time we’ve ever entered a Hackathon for three out of four members of our team, we not only learned how exciting the process of developing a product from scratch can be, but we also picked up a ton of new skills and abilities. Each of our teammates were strong in one aspect of the project, whether it was databasing, back-end, graphic design, or UX/UI design. By the end of this project, each of us had learned enough from each other to be able to start our own journey in new fields. With this being our first time developing any kind of independent project, we learned not only how to use Android Studio, XML, Android Emulator, Firebase, but also an enormous range of Figma capabilities.
What's next for Nudge
We hope to update Nudge with more user friendly features:
- [ ] Add friend
- [ ] Accept friend
- [ ] Reject/block users
- [ ] Remove friend
- [ ] Edit profile
- [ ] Add grounding strategies and animations
- [ ] Nudge friend
- [ ] Send multiple nudges at once
- [ ] Respond to nudge
- [ ] Journal additions
- [ ] Location pings
- [ ] Import your contacts
- [ ] SMS option for nudging any user (even those without the app)
- [ ] Mood tracking data
- [ ] Emotional availability status
- [ ] Individual health practices