Happy Hour is a virtual mixer for large groups, from a dozen to hundreds.
With twenty people in one video chat, only one person can talk at a time. This feels awkward, because in real life we chat in small groups. Happy Hour gives you many small video chat "tables", allows you to see who is at each one, and easily hop between them.
This was done as a fun experiment, to help others during the Covid-19 quarantine. I got to learn a lot of new technologies in the process. Jitsi Meet video conferencing is the only reason this was possible at all. It was also my first time working with WebSockets, and Socket.io made it pretty simple. And although I'm already AWS certified (Solutions Architect - Professional), this was my first exposure to Lightsail, which I found refreshingly simple (and cheap!) for this kind of hobby project.
- Jitsi Meet's iframe API for the embedded video chat component
- Socket.io for bidirectional communication with the server
- Vue.js for dynamic HTML components
- Pure.CSS for baseline styling
- Python 3 for the server
- aiohttp for asynchronous web serving
- python-socketio for bidirectional communication with the clients
- Monit to keep it running