I'm looking for advice on adding secure video calling to a website. I'd like to keep hosting and operating costs as low as possible, ideally using a free tier for a small project. Should I build it with WebRTC and manage the infrastructure myself, or use a hosted service? I'm especially interested in the trade-offs around security, bandwidth, NAT traversal, and ongoing cost.
3 Answers
If you want more control, Jitsi Meet is an open-source option you can run on your own VPS. It avoids paying a hosted provider, but the VPS still needs enough CPU, bandwidth, and storage for your expected call volume. For the lowest effort and cost at small scale, using a provider’s free plan is usually simpler than maintaining your own WebRTC stack. Building everything yourself is a good learning project, but the networking, authentication, moderation, and reliability work can take much longer than expected.
A typical self-hosted setup uses WebRTC for the audio and video, HTTPS or secure WebSockets for signaling, and STUN servers to help participants connect. You’ll also need a TURN server for cases where direct peer-to-peer connections fail. Add authenticated rooms and short-lived access tokens rather than leaving calls publicly accessible. This can work well, but you still have to handle deployment, scaling, bandwidth, and security yourself.
There isn’t really a completely free option once video traffic grows. TURN servers and relayed video consume bandwidth, so someone has to pay for that usage. For a small project, a hosted WebRTC provider with a free tier is probably the easiest route. Services such as Daily, Whereby, Twilio, or LiveKit can handle much of the signaling and infrastructure, letting you focus on integrating the call into your site.
That seems like the best starting point if the goal is to launch quickly. The free tier can cover testing and small usage, while costs become clearer as the project grows.

That helps clarify the pieces. I hadn’t realized TURN would be needed when direct connections fail.