I was inspired by the hackathon’s suggestion to “build something fun that helps people stay connected during these times.” One of the worst parts of quarantine and shelter-in place for me has been missing my friends and family and having to stay six feet away from them when I do see them. I decided to create a web app to allow people to send each other hugs, virtually! When my grandfather passed away recently, because of COVID, I was unable to go visit and hug my grandmother or relatives in person in Australia, so I wanted a way to send them a hug virtually. Thus, sendavirtualhug.com was born!
What it does
Users can send each other virtual hugs by visiting sendavirtualhug.com. I wanted to give lots of options because, for example, some people may only have email and everyone deserves to receive a hug equally. They have the option to send the hug via email, text (on mobile devices only) or generating a link to share via Facebook messenger, whatsapp, or any other platform they choose. To send a hug, users must input their information, the receiver’s information, and a message, and then the hug will be sent with a cute kangaroo holding a heart, to let the person know you’re thinking about them and cheer them up.
How I built it
I built this project using a Python Flask backend with HTML/CSS/JS templates. I used Firebase Firestore Cloud Firestore to store each newly created hug. To send emails, I used the Flask-Mail extension and Google Cloud. For the text functionality, I used Twilio.
Challenges I ran into
I initially hoped to use the Google Cloud Text-to-Speech API to also have the option for the text of a hug to be read out loud. However, I ran out of time and couldn't get it to work the way I had wanted to, so thought i could add that feature as a part of version 2.0 of sendavirtualhug.com! In the meantime, I can suggest to users to enable a web browser extension that can accomplish the same thing.
Accomplishments I'm proud of
I’m proud it functions and looks polished with a domain (shoutout to Domains.com for the discount code I used for sendavirtualhug.tech!). It was also really exciting to see the numbers of people sending hugs go up. Although drawing and art doesn’t come easily to me (I consider myself to be more of a math/logic-oriented person), I’m pleased with the way my kangaroo drawing turned out. (I chose to have a kangaroo as the logo in honor of my late Australian grandfather)
What I learned
My main takeaway from this hackathon was learning not to be overly ambitious and to simplify to an MVP whenever possible. In previous hackathons I’ve worked with a team so this was the first time when I’ve been the one doing everything. I’m also currently working full-time as an Instructor Assistant at Kode with Klossy, so my time was limited. This meant I had to really prioritize my work. I learned to be okay with including features in version 2.0 instead of trying to do everything, although I’m very happy with what I was able to accomplish and ultimately, I also learned that I am capable of more than I think.
What's next for SendAVirtualHug.com?
In the next iteration of sendavirtualhug.com, I would like to expand to more platforms so that people can send virtual hugs across Snapchat, Instagram, Facebook, and other services. I will add some services to my website directly, and will work on fine-tuning the hug-sending API I coded with the URL path sendavirtualhug.com/api/new and adding documentation so that other coders can add the functionality of sending virtual hugs to their own projects! I also plan on working more with Google Cloud and get the Text-to-Speech API to work for each hugs to address people with accessibility issues. I started creating an Amazon Alexa skill for sending hugs and I plan on finishing that skill in the near future. Another fun idea might be to give people the choice of animals to send their hug. Lastly—and I would need to learn how to implement this, perhaps in version 3—it would be very cool to give the option to send a personalized audio or video message along with the hug.
- A Python Flask backend
- HTML/CSS/JS templates
- Firebase Firestore
- Flask-Mail extension
- Google Cloud
- Heroku Hosting