Web DevelopmentAdvanced 4 to 6 hours

Real-Time Updates via WebSockets

Transform a static dashboard into a live, real-time monitoring tool.

The Scenario

The SaaS product is pivoting to high-frequency trading analytics. The dashboard must now display a live feed of stock prices and recent transactions. Polling the API every 5 seconds is crashing the server. The backend team has exposed a WebSocket endpoint for a live data stream.

The Brief

Write the frontend architecture to consume a WebSocket data stream. 1) Establish and manage the WebSocket connection securely. 2) Listen for incoming "transaction" events and update the chart data in real-time. 3) Implement a reconnection strategy (exponential backoff) if the socket drops. 4) Ensure you are not causing severe performance issues by re-rendering the entire dashboard 10 times a second.

Deliverables

  • The custom hook (e.g., `useWebSocket`) managing the connection and exponential backoff retry logic
  • The state management code that appends new data points to the chart without freezing the UI
  • A short note on how you would throttle or batch incoming messages if they arrive too fast

Submission Guidance

Focus on connection stability and render performance. Appending to an array in React state 50 times a second will kill the browser - explain your mitigation strategy.

Submit Your Work

Your submission is graded against the rubric on the right. If you pass, you get a public Badge URL you can share on LinkedIn. There is no draft save, so work offline first and paste your finished response here.

This appears on your public Badge.

0/20000 charactersMarkdown supported

One per line or comma separated. Up to 5 links.

By submitting, you agree your submission text, name, and evaluation will appear on a public Badge URL.