DEV Community

Harsh S
Harsh S

Posted on

Engineering decisions for my video call tool

WebChat
A PeerJS-based browser-to-browser video conferencing app with low-latency, high-performance real-time communication.

This project pushed me deep into the internals of infrastructure optimization.


Key Engineering Decisions:

  • Engineered a combined signaling server: integrating Express.js, Socket.IO and PeerJS into a single-process, single-port architecture that runs with a single command. This design avoids typical multi-service deployment constraints and runs smoothly on a single (free-tier as of now) instance.
  • Solved a tricky issue of duplicate video streams using PeerJS ID deduplication logic.
  • Enabled dynamic participation via URL-based session joins, with full leave/rejoin support for participants.
  • Focused on ultra-low latency media exchange and snappy UI responsiveness.
  • Used ngrok to tunnel the local development server, enabling testing across different devices and network environments by exposing the localhost port via a secure public URL.

Stack:
PeerJS • Socket.IO • Express.js • EJS • Node.js


Live link: https://webchat-fa0u.onrender.com

Top comments (0)