In the nation's current climate, negative interactions online tend to be more common than positive ones. The oft-hostile environment of social media and sometimes hateful discourse contribute to divides in our country and our communities. Online negativity can also be detrimental to a person's mental health and happiness. While it is important to hold people accountable for lapses in morality, it is also important to remind ourselves that the world isn't all bad, that what we hear on the news and online isn't always the entire story, and that there are people around us who love and support us. With this in mind, our team set out to design an application that reminds us of the positive contributions that others make to our lives on a daily basis and to reward acts of kindness in an uneasy time. This was how Happy Place was born.

What it does

Happy Place acts as a new social media platform that an individual can register for using their email, Facebook, Twitter, or Google accounts. Once on the app, they can view a feed of the grateful messages that people are sending to one another, view a map with geolocations (marked by hearts) where people are rewarding positive behaviors in the area, review their own profile with their current count of suns that were sent to them as a reward for kindness and the thank-you messages that they have sent and received, and they can search another person's username to send them suns and thank-you messages for acts of kindness.

How we built it

We built Happy Place using PhoneGap to convert HTML, CSS, and JavaScript into a phone app, with Flask, Firebase, and the Google Cloud Platform on the backend. For our map of geolocations, we utilized the Google Maps API, and we utilized Google Storage for our data. Catelen and Amanda worked on the front end, and Prashant worked on the back end to assemble the finished product.

Challenges we ran into

At the beginning of the hackathon, we were using software (namely, Firebase) that we had never used before, and which we had to quickly educate ourselves about through tutorials, research, and trial and error. We also didn't know which framework to use, which resulted in us downloading several different frameworks including Ionic and Android Studio before finally settling on PhoneGap, which was more suited to converting our web development experience to mobile. We also, on a couple occasions, struggled to bridge our front end and back end development. However, we persevered through each of those challenges, tried different approaches, and never let ourselves get too defeated, and in the end managed to put together a product that we are very proud of.

Accomplishments that we're proud of

We're proud of the challenges that we overcame, from learning new frameworks to figuring out complexities in the languages that we use that we hadn't realized before. We're also proud of the fact that we were able to develop things like the splash page for our app with no former experience in appdev. Most importantly, we're proud of how much we learned and how much we've grown as developers in the last couple days.

What we learned

We learned that when things get tough, you should take a break and go for a walk but you shouldn't give up, because it's when things get the hardest that you get the best results. We also learned that collaboration is important because it helps fill the gaps in your personal knowledge and assists you in creating the best work that you possibly can--better than anything you could make alone.

What's next for Happy Place

We would like to implement all of the social media features on a large scale so that Happy Place can become a common application that people use to improve their communities and their lives. We had also considered a gift-giving aspect of Happy Place through which people could buy and send each other actual gifts as a show of their appreciation. These were things that proved a little too much for our limited time, but which we would like to add should we be able to work together again with more time in the future.

Share this project: