How to approach building a platform which allows users to video chat?

Hi guys,

I’m always challenging myself with new hobby projects and this time, I would like to build a small platform with Phoenix LiveView where users could sign up and create their profiles. That part is easy, but then, I would like to have a page which shows users who are currently online (I could use GenServers for that, right?) and then users can start a video chat with other users who are online, I was thinking about using WebRTC for video (There is an Elixir Membrane library which I think I should use for that, right?).

How would you approach building such app? Can you give me some advice and best practices? And as I mentioned, this is a hobby project and to be honest, I have no idea what I’m doing or where to start even but I want to learn so that’s why I’m asking. :slight_smile:

Just start something and make it work. The biggest value in my opinion from these kind of projects is for you to understand on how to approach these problems and try different strategies.

There is no silver bullet approach, so just go wild, and feel free to ask specific questions along the way!

In case you don’t know, there is a guide how to show users which are online here: Presence — Phoenix v1.7.11

And documentation for membrane here: Learn - Membrane framework

3 Likes

There is also Jellifish

From the same persons building membrane

1 Like