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




















