Conversations Without Borders
There was a time when I really loved the concept of Omegle, the idea that I can just login to a website and randomly connect with strangers in this world was fascinating. With this idea in mind and a issue with my internet led to thinking why should I only connect on video, also there was a curiosity to understand how this whole thing works.
Sometimes, the best learning happens when you just build something for fun.
Chatrooms was exactly that — an experimental project to explore Go, WebRTC, and WebSockets.
There were some reasons to take on this side project –
- To create something like Omegle, only for texting
- To learn Go and it’s core concepts like Routines and Channels
- To become comfortable with WebSockets
The idea was simple:
At the initial stage, we will have a fixed number of rooms with limit of people to join. Each room would have a token, which needs to be used to join the room and chat. No sign-ups, no pressure, just digital campfires where strangers could talk.
Then later, I would add role management, where we can create admins and then they can create rooms and their own tokens, which they can share to people for joining their room.
Use of GO:
I actually just had started to learn GO and wanted to get used to it. I was excited about the concept of routines, channels and the fact that it says each routine will only take 2 KB of space and we can launch thousands of routines, thinking how memory efficient is this with the performance of a beast.
Through this project, I learned how real-time data travels — not just between servers, but between people.
Note:
The whole thing is not completed yet, I had a plan to complete and deploy as a web application. But, life does not always work our ways, didn’t have enough time, did many different things and got diverted into other things.
🖥 Tech Stack: Go
🎯 Role: Design, Development
🌱 Outcome:
- Learned GO with it’s concepts
- Learned the inner workings of WebRTC and WebSockets
