// project detail
Real-Time Analytics Dashboard
High-throughput analytics dashboard visualising live event streams for a SaaS enterprise.
ReactTypeScriptWebSocketsD3.jsNode.js
Problem
Network and system monitoring teams at a high-scale SaaS enterprise were working off batch reports generated every five minutes. Because of this lag, critical live stream socket anomalies and micro-outages went undetected until clients filed high-priority support tickets, cascading into significant Service Level Agreement (SLA) breaches.
Approach
I architected a WebSockets pipeline to ingest live event data, using React along with D3.js to render canvas-based real-time line charts, scatterplots, and system heatmaps without triggering expensive React re-renders.
// Using canvas rendering for maximum frame-rate stability
useEffect(() => {
const canvas = canvasRef.current;
if (!canvas) return;
const ctx = canvas.getContext("2d");
if (!ctx) return;
let animationFrameId: number;
const render = () => {
ctx.clearRect(0, 0, width, height);
// Draw real-time stream data points
ctx.fillStyle = "var(--accent)";
data.forEach((point) => {
ctx.beginPath();
ctx.arc(xScale(point.time), yScale(point.value), 3, 0, 2 * Math.PI);
ctx.fill();
});
animationFrameId = requestAnimationFrame(render);
};
render();
return () => cancelAnimationFrame(animationFrameId);
}, [data, width, height]);Result
- Successfully decreased incident detection times (Mean Time to Detect) by 70%.
- Achieved constant 60 FPS performance during real-time visualization of ingestion streams peaking at 10k messages per second.
- Adopted by three critical internal operational teams with high satisfaction scores.