We've all felt misunderstood by those around us some time in our lives. Especially during the pandemic, it's been hard to reach out to people who we know will truly listen to us. Through movements such as Black Lives Matter and Stop Asian American Hate, we've seen the importance of having a community you trust. This is why we were inspired to develop Rocket Rants, a web app that anonymously matches you with someone who shares a similar identity as you, where you can either listen or rant about anything. We especially hope that underrepresented minorities can connect with people who can relate to them and empower each other. Through hearing/speaking about each other's stories, our ultimate goal is to offer a place where people of all intersectional identities can uplift one another.
What it does
This is an application built to be a safe space for people to rant in. When people feel distressed, sometimes they need an outside ear to hear them out and give them impartial advice. Sometimes people feel lonely and want someone to talk to just to kill the time. Whatever reason it may be, this anonymous online rant application allows for all that to happen. Even people who just want to be nice and help a stranger out can try to make mends to others' issues. The anonymity keeps it a safe place and if people are really touched by the advice they get on this platform, they will want to do the same onto others, creating a loop of "paying it forward" with kindness and respect for others.
How we built it
We first thought of many platforms we could build with but eventually narrowed it down to a server-side and a client-side. For the server-side we chose to use sockets to communicate between the many different clients and the one server, and Node.JS had an easy-to-use package for that, perfect for beginners. For the client-side we had a couple of choices and we agreed that we wanted to be able to take this chat with us wherever we go, so we developed a website with mobile-first thinking and even gave it a platform as an Android application.
Challenges we ran into
As we wanted to take a mobile-first approach, we had to explore different avenues of emulators. We discovered the mobile profiling tool available in Chrome Developer Tools, and we also made use of BlueStacks to have a better picture of what the app looked like. Finally we tested our app on an android device and it turned out to be the best result of them all. Since the app was multifaceted, there was no easy way to test the app as developer tools would fail due to CORS or other impediments of having a half-developed back-end and a half-developed front-end.
Accomplishments that we're proud of
It was tricky for us to learn how sockets worked, especially since we're both much more experienced in front-end than back-end. Back-end development was a completely different experience than front-end because it was a lot more programming and a lot less scripting, especially since there was no visual feedback, it was like learning a new environment altogether. It was so exciting when we got that first text from one client to another, and it was cool to see it happen in only a couple of files of code.
What we learned
We learned what it takes to create a chatting app, including both the front and backend. This included hosting to Heroku and using Socket.io as a framework for bidirectional communication. We also learned more about taking a mobile-first approach to design, as we've often overlooked this important aspect of design in other projects. This was also our second hackathon, and our first one that was over 24 hours. So, we learned about planning strategies and how to better delegate work to each other. We're proud to say that we've both learned new things over the past 48 hours and are excited to use our new skills in the future!
What's next for Rocket Rants
It's been awesome to implement technologies we haven't really used before, and we want to continue learning about them! Socket.io had some great functionality to allow users to easily connect and communicate. We'd like to explore more creative methods of fostering communication between users. Whether that's creating different themes for rooms (instead of just ranting/listening) or allowing bigger group chats, we're excited to see what else we can do to empower all.