Skip to content
senuka-b/portfolio
work/livelychecked out

5551ee8·5 commits·merged·2025

Lively

A peer-to-peer video platform — WebRTC streaming and real-time chat, on its own signalling server.

Role
Author
Stack
AngularWebRTCWebSocketSpring Boot
Links
Repository
−40%Latency
1,000+Concurrent users

What I built

A peer-to-peer video streaming feature in Angular, backed by a custom signalling server I wrote in Spring Boot so the WebRTC connections were reliable rather than best-effort.

Real-time chat rides alongside the calls over a WebSocket architecture, so a room is a place to talk, not just a video feed.

sequenceDiagram
  participant BrowserA as Viewer A
  participant Signal as Spring Boot signalling
  participant BrowserB as Viewer B
  BrowserA->>Signal: Offer
  Signal->>BrowserB: Forward offer
  BrowserB->>Signal: Answer
  Signal->>BrowserA: Forward answer
  BrowserA<<->>BrowserB: WebRTC media stream

The hard part

WebRTC is easy to demo and hard to make reliable - NAT traversal, connection state, keeping latency down under load. Owning the signalling server end to end is what held it together for a thousand-plus concurrent users while cutting latency by forty percent.