Inspiration

Talking to groups of unknown people in real life can be awkward. However, when done online, it is totally not awkward and indefinitely cooler.

What it does

Discogram allows you to chat with other people individually or in public chatrooms. It allows you to chat with multiple random people at the same time, or with your friends privately. Try it out.

How we built it

Python for the back-end. I used Bottle, a python web framework, and JavaScript for the backend. HTML, CSS, and JavaScript for the frontend. The app keeps track of the people that are connected to the server and saves their chats. The way it works is to chat with someone, both of you need to be online.

Challenges we ran into

Making the UI was very difficult to do in such a short time span. The app does loop a bit janky at a few spots, especially on screens of unusual sizes. It was also challenging to dynamically update the list of users that were actively connected to the server and users that had left. I overcame this by sending packages from the clients every set interval to reset a timeout timer on the server that kicks the client out or the active user list.

Accomplishments that we're proud of

I was very happy with how reliable the backend is. From my testing, I encountered very few minor bugs. It is also incredibly fun to text random friends with aliases and guess who is who.

What we learned

I learnt a lot about securely running scripts on a server instead of on a client's computer.

What's next for Chatroom

I want to fix the UI and make it more beautiful. I also want to implement a message indicator that notifies people when they receive new messages.

Share this project:

Updates