Temporary voice and text chat lobbies.
What if there was an easier way to quickly speak to people online?
In many online games, such as League of Legends, only text chat is available to communicate between players. Creating a Discord server leads to additional hassle, as members would likely need to leave after, and could be saddled with pings. Anonymity is also an issue, as some users would not like to share their discord ID with strangers.
Enter: getin.vc
getin.vc is a temporary VOIP (Voice Over Internet Protocol) lobby platform targeted towards gamers. Share a short join code and anyone can connect through their browser. Users can join a voice call and a text chat, in just two clicks. getin.vc contains features designed to make chatting easier like volume sliders for individual users, locking lobbies, and banning users.
Features
- Quick & Easy - Join a voice call in just two clicks.
- Simple text chat.
- Banning functionality.
- All contained in your browser, no software necessary.
Tech
- Figma - User Experience/User Interface related construction and planning
- Node.js - Text chat and voice calling backend
- ReactCSS & TailwindCSS - Frontend UI/UX
- WebRTC - Voice calling support
- Socket.io - Communication between clients
- Fastify - Creation of web servers
- Firebase - Hosting of user and lobby information
The Development Process
We created the idea of getin.vc after thinking about the issues that we each faced in our lives. We quickly realized that the lack of a quick way to talk to teammates on text-only games was a hole that needed to be filled. We created a flow chart of what the project would need to do, and planned out the UI needed to achieve what we wanted on Figma.
Getinvc uses a number of technologies to achieve its purpose. We ran the WebRTC and Websocket servers using Google Cloud’s App Engine. We used Google Cloud Storage to store data pertaining to individual lobbies and users.
After finishing our designs and waiting until the start of the hackathon, the coding began. We faced many issues, as we were working on an unfamiliar type of application. We collaborated over Github and kept tabs on each other's progress to make sure everyone was able to succeed. We sent code, shared screens, and bounced ideas over Discord. We spent quite a few hours overnight finishing our application. (stuff in morning IDK)
Accomplishments that we're proud of
We're especially proud of the implementation of a messaging syncing system so that every user sees the same message at the same time. The implementation of a voice calling system was especially impressive to us, because it involved the usage of complicated libraries that we had to learn to use. We also somehow managed to work until 4:00 AM, which was a miracle by itself.
What we learned
We learned how to use software like Figma to model our designs and to better envision our project. We learned how to utilize the WebRTC library to allow for voice communication between multiple users. When developing the WebRTC integration into our website, we ran into serious audio quality issues, so we fixed this by increasing the bitrate throughput. In order to access and edit user and lobby information, we figured out how to Google Cloud Storage with JavaScript. HooHacks 22 was truly an educational experience for us. In the process of creating getinvc we ran into many challenges and learned new things.
Future plans
In the future, we plan to implement even more features into getin.vc, including but not limited to:
- Increasing audio quality in voice calls
- Software-based daemon to automatically generate getin.vc link into clipboard, and to automatically join user into lobby when hotkey is pressed
- Ability for users to send media in the text chat
- Choose between mute and push-to-talk
- Botting protection
- Due to serious privacy and security issues including IP leaks and lobby hijacking, we are unable to make the website publicly available at this point. In the future, we hope to fix these issues to bring getin.vc to everyone.
Built With
- css
- fastify
- figma
- google-cloud
- html
- javascript
- node.js
- react
- socket.io
- tailwind
Log in or sign up for Devpost to join the conversation.