DevxSubh
I develop 3D visuals, user interfaces and web applications.
Loading...0%
Menu
Menu
Close
Close
Back to projects
NetHuddle — Multi-Protocol Real-Time Communication Platform

NetHuddle — Multi-Protocol Real-Time Communication Platform

NetHuddle demonstrates when to use which protocol: TCP-oriented reliability for chunked file transfer, WebSocket/Socket.IO for chat, signaling, and browser-friendly uploads, WebRTC for low-latency peer media with STUN/TURN hooks, and QUIC over HTTP/3 (Python aioquic) for experimental low-latency streaming with WebTransport/fallback considerations. The server exposes REST + WS APIs for rooms (chat/video/streaming types), RBAC-style membership, network subnet discovery with TTL-cleaned sessions, friend relationships, and QUIC session tokens. Observability includes prom-client middleware with HTTP, WebSocket, file transfer, WebRTC, QUIC, and DB histograms, plus a frontend metrics dashboard. Documentation is extensive: architecture, phased delivery status, security (Helmet, rate limits, validation), and known limits (QUIC browser support, TURN dependency, horizontal scaling without Redis).

Timeline

Multi-phase

Role

Full-Stack / Systems Developer

Team

Solo

Status

Completed

Technology Stack

Next.js

React

TypeScript

Node.js

Express

Socket.IO

MongoDB

MongooseWebRTCJWTPrometheusPythonaioquicWinstonJoi

Key Features

Room CRUD with privacy, capacity, and typed rooms (chat / video / streaming)
WebRTC signaling path (SDP, ICE) over authenticated sockets
Dual file path: JWT-authenticated TCP chunks and WebSocket uploads with progress events
LAN discovery: subnet grouping, presence heartbeats, radar-style UI concepts
QUIC server with TLS 1.3, stream multiplexing, health and stream metadata endpoints
Prometheus `/api/v1/metrics` and live dashboard cards refreshed over WebSocket
Operational docs: env templates, certificate generation for QUIC dev, Prometheus scrape example

Key Learnings

  • End-to-end ownership of signaling, media, and transfer state machines
  • Prometheus instrumentation patterns for Node services
  • Pragmatic security defaults (JWT RS256, Joi, rate limiting) on a large route surface
  • Documenting known production gaps honestly (group WebRTC, persisted metrics)

Key Challenges

  • NAT traversal and mandatory TURN in restrictive networks
  • Browser limitations on raw TCP; maintaining parallel server and browser protocols
  • WebTransport/QUIC maturity and fallback strategy
  • Socket.IO horizontal scaling without Redis adapter
  • Metrics cardinality and overhead vs observability value

Impact & Results

Consolidated reference for teaching and interviewing on real-time systems
Shows how to bolt observability onto heterogeneous protocol handlers
Clear backlog (Redis, S3, SFU) for evolving toward true production scale

Future Enhancements

Redis adapter for Socket.IO and shared session store
S3-backed file storage and CDN delivery
SFU/MCU for multiparty video
Grafana/alerting on top of existing Prometheus exposition
Kubernetes manifests and automated QUIC cert rotation