All Projects
LivePerformance

Real-Time Analytics Dashboard

Built a real-time analytics dashboard handling 2M+ daily events with WebSocket streaming, virtual scrolling for 100k+ row tables, and sub-second query response times.

CompanyFreshworks
RoleLead Frontend Engineer
Year2022

Tech Stack

Vue 3PiniaChart.jsWebSocketNode.jsPostgreSQLRedis

Impact

events2M+ daily events
latency<500ms
users5,000+ daily active

The Problem

The existing analytics dashboard could only display data from 24 hours ago and crashed the browser when viewing more than 1,000 rows of data.

The Solution

Implemented WebSocket-based real-time data streaming, virtual scrolling for tables with 100k+ rows, time-based data windowing, and intelligent client-side caching.

Architecture

Vue 3 frontend with WebSocket connection to a Node.js streaming server, backed by TimescaleDB for time-series data and Redis for caching.

Key Challenges

  • Rendering 100k+ rows without freezing the browser
  • Handling WebSocket reconnection gracefully
  • Aggregating streaming data on the client side

Results & Impact

Real-time data with <500ms latency
Handles 100k+ rows with no performance degradation
2M+ events processed daily
5,000+ daily active users