As college students, we have all been affected by or know someone who has had a panic attack. Going into this hackathon, we wanted to create something that could help people and thought we could provide students with resources to help them during panic attacks or highly stressful moments.

We were inspired to address this problem with a new and more potent solution. While panic attacks are currently addressed via hotlines and chat bots, they lack a personal touch and distraction from the user’s environment. With this problem in mind, we decided to create a website using JavaScript on the front-end and Python on the back-end. We also incorporated Google Cloud API, Spotify API, and Heroku.

What it does

The goal of Solid Ground is to employ techniques for calming users during high anxiety events. Throughout the entire user experience from start to end, every stylistic choice and option is designed to reduce the anxiety users feel around them.

The platform directs users to different activities that encourage calmness and breathing. As the user opens the page, calm white noise is played while a serene video of moving water is played in the background. Once the user clicks the Start button, they are prompted to choose a specific activity they would like to do. Verbal recognition and analysis of their answer then directs the user to an activity. If they do not choose an activity, the web application will randomly launch into one.

We decided to create three different activities to relax users as different approaches work better for different people.All of the activities were chosen based on research into techniques used by professionals and proven effective. White noise plays in the background and accompanies a soothing video. Since, we were creating a website with audio and visuals, we were also able to encapsulate the advantages of multiple techniques and approaches into each activity. The first activity is called “Focus” and revolves around prompting the user to describe the environment around them in order to ground them. Once the activity is complete, the user can move onto another exercise or return to the home page.

The second exercise available to users is the “Breathe” option. This section verbally guides users through deep breathing techniques and how to slow down breathing during a panic attack. While the verbal recording executes, a circle shape expands and contracts in size following the audio prompt which directs the user to breath in and out. We also adjusted the color of the circle during this exercise to be light colored during the inhale and darker colored during the exhale. This was done to reflect the users expelling negative thoughts and intaking positive thoughts, which is a practice recommended by experts in soothing anxiety.

The third activity is titled “Mantra” and can be called from the Start page by that command. This activity, similar to the first activity, poses a verbal prompt to encourage the user to practice positive reinforcement by helping them internalize positive thoughts.

We wanted to take our project further and incorporate the ability for users to directly communicate with the individuals who matter most to them. While our project uses audio to engage with the user, we felt that users should be given an effortless way to reach out to their loved ones too. On the start page and during every activity, there are two functions on the side that directly connect to either a significant person or a hotline for emotional duress.

Overall, this website functions to provide a calming and de-stressing experience for users through direct interactions with the screen and through the subliminal audiovisuals that create a safe and peaceful environment.

How we built it

We built Solid Grounds primarily using the React framework with vanilla JavaScript on the front-end, and Python on the back-end. On the front-end, we used HTML5/CSS3/JS to develop the structure and functionality for the user interface. We used Spotify API to embed a web-player to play soothing white noise playlists. On the back-end, our team mainly utilized Python's audio processing libraries and the Django web framework. We employed NLP and noise reduction methods, a Google Cloud voice recognition API, and finally Heroku to deploy our app. All our source code can be found at link

Challenges we ran into

Throughout the last 37 hours, it wouldn’t be a hackathon if we didn’t run into a few challenges along the way. Most of us were new to the languages we were using, so we had to work together and use our collective knowledge to make progress.

We particularly struggled with using and deploying to a server. None of us had ever created a website, let alone deployed it so that it could accessible from all platforms. While this was a significant challenge in our final hours, we were able to come together and find that our problem was that we were accessing the microphone on the server side instead of the client side. That prevented us from using Heroku's remote, virtual servers where there was no microphone to take in user input. We solved this by moving the user input to the front-end while keeping the NLP on the server side.

Half of our team had never used Github before, and at one point in our process, we had overreached and multiple team members had been working on the same part of the code. This caused merge conflicts where we found ourselves with code suddenly riddled with dozens of errors. After slowly moving through these errors, we learned the importance of communication between members on a project for the future.

The final challenge that we experienced was having our natural language processor properly identify words posed by the user. We eventually realized that the background noise around us could hinder the NLP from correctly reading the inputs in noisy environments, such as on Demo Day. With more time, we had planned to implement better noise reduction algorithms. Under the time constraints, we chose to set up a time-out so that if no discernible word was detected, the program would then randomly enter into one of its activities or exercises for the user. We did note that under usual circumstances, the background noise would not be as loud especially when a user would be interacting with the NLP.

Accomplishments that we're proud of

While we all had some coding experience, none of us had ever attempted to deploy a web app. Overall, our biggest accomplishment was learning multiple new languages and coding techniques while working towards building a functional product in such a short amount of time. Our team came in with one person who only knew Java and one person who only knew Python, and we ended the weekend all with experience in HTML, CSS, JavaScript, and Python.

Some specific technical accomplishments that were rewarding to us were integration using Heroku and Django, and using NLP through Google Cloud. These were challenging endeavors for our team at first and were big milestones for our project when they were finally achieved.

Ultimately, we are proud of all that we accomplished and how much we challenged ourselves to reach our goals. We gained experience in front-end and back-end coding and ultimately how to take an idea to a functioning website. All in under 37 hours!

What we learned

Throughout the past 37 hours, we not only became better coders, but also became better teammates. From learning new coding languages to discovering the value of having a clear vision from the start to asking for help from the VandyHacks mentors, we overcame challenges time and time again to reach our goals. Moving forward, we are all confident that what we learned this weekend will benefit us in future projects and Hackathons.

What's next for Solid Ground

Our short term goal for Solid Ground is for it to continue as a website that students and others who are prone to anxiety attacks can use as a resource. With more research, we would like to improve and expand on Solid Ground. On a content level, we would to add more activity sequences, improve how we stream music, better our animated visual guides, and implement features that can personalize it even further. On a platform level, we hope to make this into a mobile application, improve the mobile version of our site, as well as integrate the software with IoT devices such as Fitbit, which can detect panic attacks as they happen based on sudden changes in heart rate. Solid Ground tackles anxiety in a new fashion and has the potential to become a dominant resource for personalized coping strategies to combat mental health struggles.

Share this project: