We were tired of exploding costs from proprietary video conferencing vendors. So we decided to take matters into our own hands - building a custom video chat app in-house using open-source technologies.
The core that powers our app's slick calling features is WebRTC. It enables browser-based real-time audio, video, and data sharing without requiring plugins.
WebRTC peers need a way to find each other and connect. For public discovery, we're using STUN servers which provide mapped public IP addresses.
And for peers who can't connect directly, we leverage TURN servers to relay traffic. We chose the open-source Coturn for our TURN needs - it's stable, secure, and scales nicely.
Another key technology is WebSockets, which allow persistent two-way communication between client and server over TCP. We're using them for real-time messaging and notifications.
To simplify WebSocket signaling and networking logic, we picked SocketCluster - a great scalable WebSocket framework.
On the front end, we used ReactNative to build a buttery-smooth native app UI and UX.
The end result is an enterprise-grade video conferencing app with:
- Major cost savings
- Enhanced security
- Unlimited scalability
By tapping into thriving open-source communities, you can avoid vendor lock-in and build a custom stack tuned to your needs, just like we did.
Here are a few samples for our app: