Inspiration

With COVID-19 impacting many social and organizational aspects of everyday life, we wanted to develop something that would mitigate the loneliness of social isolation and allow users to stay engaged within their teams and friend groups despite remote work. Thus, we designed KwikKonnect, a Slack bot and video call web platform which facilitates spontaneous video calls within groups. Through KwikKonnect, remote teams can form new bonds and stay connected, quickly and accessibly online. KwikKonnect has usages for remote coffee chats and off-site socials as well as more rapid-paced virtual networking events.

What it does

The Bot

kwikbot is a Slack bot which pairs users in a Slack team for short video calls. Once added, the team owner can configure the duration and frequency of the video calls, with defaults of 10 minutes and 24 hours respectively. The bot then pairs up team members who have joined the #kwikkonnect channel and sends them unique, randomly-generated links which redirect the users to a short, closed video call. After a certain number of matchmaking rounds, the bot targets pairs of team members with low chat traffic in the hopes of increasing interactions and bringing them closer together. If chat interactions between all possible pairs of group members within the team are roughly equal, the bot will revert to pairing random team members.

The Video Call

The peer-to-peer connected video calls are hosted on KwikKonnect.online, which sets up video calls that last as long as the configured duration with a simple to use and aesthetically-pleasing UI. Features include randomly-generated conversation prompts and an option to extend the duration of the call. For the purposes of facilitating conversation, closing the tab or ending the call before the duration is complete is disabled.

How we built it

The Slack bot uses slash commands for configuration and matching. Each slash command queries our backend server, which was deployed using Google App Engine. The Slack backend was built in JavaScript using Express and Node as well as the Slack Node SDK.

The KwikKonnect video call web platform was built with WebRTC through Simple-Peer for peer-to-peer video calling and socket.io to initiate video calls across devices in real-time. The backend uses Node and Express in JavaScript, and the frontend uses HTML, CSS, JavaScript, and Bootstrap. The entire platform is hosted through Domain.com.

Challenges we ran into

Coming into the hackathon with no experience with P2P platforms, slack bots, or even Node.js, we faced several challenges in developing our hack. Initially, we faced challenges setting up the backend for kwikbot to respond to slash commands through POST requests. As well, it was difficult to set up a connection between two clients on separate devices & locations on our video calling platform. Later, we also faced challenges with deploying our Express servers using GDP and hosting on domain.com. As well, we had some difficulty styling our web platform for a cohesive design across different devices. We're extremely proud that we were able to overcome all these challenges through collaboration and a lot of stack overflow. We also had some difficulty coordinating and collaborating as a team remotely, but found success in video calls. As we completed development, we even used the KwikKonnect platform itself!

Accomplishments that we're proud of

Between the Slack bot, Slack backend, web platform frontend, and web platform backend, there were a lot of different parts that went into this hack, and we're super proud we were able to make them all work together. We're also really happy to have created a hack that we truly believe can make a positive impact during and after COVID-19 with many people working remotely.

What we learned

We learned a lot about how to set up and deploy servers using Node and Express from building & deploying two very different backends. We also learned a lot about styling & UI design and integrating our app with a 3rd party platform like Slack. Outside of technical aspects, we took a deeper dive into current and future trends due to COVID-19 in our initial ideation phase, which also taught us more about the greater impacts of COVID-19 and got us thinking about its longer-term ramifications.

What's next for KwikKonnect

In the future, we hope to expand KwikKonnect to other popular platforms such as Discord to further facilitate conversations between others and bring the world closer together from the safety of their own homes. As well, we hope to add additional features to kwikbot such as statistics and analytics about the number of calls that you have had and who you've met with. Finally, we hope to further refine our video calling platform to incorporate additional features such as AR filters.

+ 8 more
Share this project:

Updates