Existing Solutions
WebRTC is a flexible solution for P2P real-time communication, but the trade-off of this flexibility is that a developer has to deal with the complexity of implementing critical components such as signaling and STUN/TURN servers. In addition, another layer of complexity is introduced when working with the WebRTC API.
To implement a P2P WebRTC solution, developers can take the DIY route and stitch together existing open-source solutions (PeerJS, CoTURN, etc). However, the developer would still need to configure and maintain all the necessary infrastructure to host their solution.
On the other hand, there are commercial solutions like the Twilio SDK or Vonage SDK that make WebRTC easier to work with. They are easy to use and provide a fully-fledged SDK. Some commercial solutions even include a plug-and-play client app. However, they are not free and are not private in the sense that session data is kept within their infrastructure.
After examining the available options, we realized that there was a gap between the open-source and commercial solutions. While the open-source options are effective, they can be challenging and time-consuming to implement. Conversely, the commercial options are developer-friendly but come with a significant cost.
As a result, we chose to develop a simplified open-source alternative to Twilio that would be easy to deploy and scale, addressing the gaps we found in the existing open-source solutions.