Realtime Dashboard
by @wpank
Complete guide to building real-time dashboards with streaming data, WebSocket/SSE, and live updates. Orchestrates dual-stream architecture, React hooks, and data visualization. Use when building trading dashboards, monitoring UIs, or live analytics. Triggers on realtime dashboard, live data, streaming dashboard, trading UI, monitoring.
clawhub install realtime-dashboardπ About This Skill
name: realtime-dashboard model: reasoning description: Complete guide to building real-time dashboards with streaming data, WebSocket/SSE, and live updates. Orchestrates dual-stream architecture, React hooks, and data visualization. Use when building trading dashboards, monitoring UIs, or live analytics. Triggers on realtime dashboard, live data, streaming dashboard, trading UI, monitoring.
Real-Time Dashboard (Meta-Skill)
Complete guide to building real-time dashboards with streaming data.
Installation
OpenClaw / Moltbot / Clawbot
npx clawhub@latest install realtime-dashboard
When to Use
Architecture Overview
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Data Sources β
β APIs, Databases, Message Queues β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Backend Services β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Kafka (durable) β Redis Pub/Sub (real-time) β
β See: dual-stream-architecture β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β WebSocket/SSE Gateway β
β See: websocket-hub-patterns β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β React Application β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Real-time Hooks β Data Visualization β
β See: realtime-react-hooksβ See: financial-data-visualization
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Animated Displays β Connection Handling β
β See: animated-financial β See: resilient-connections β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Implementation Steps
Step 1: Event Publishing
Set up dual-stream publishing for durability + real-time.
Read: ai/skills/realtime/dual-stream-architecture
func (p *DualPublisher) Publish(ctx context.Context, event Event) error {
// 1. Kafka: Must succeed (durable)
err := p.kafka.WriteMessages(ctx, kafka.Message{...})
if err != nil {
return err
} // 2. Redis: Best-effort (real-time)
p.publishToRedis(ctx, event)
return nil
}
Step 2: WebSocket Gateway
Create horizontally-scalable WebSocket connections.
Read: ai/skills/realtime/websocket-hub-patterns
type Hub struct {
connections map[*Connection]bool
subscriptions map[string]map[*Connection]bool
redisClient *redis.Client
}// Lazy Redis subscriptions
func (h *Hub) subscribeToChannel(conn *Connection, channel string) {
// Only subscribe to Redis on first local subscriber
}
Step 3: React Hooks
Connect React to real-time data.
Read: ai/skills/realtime/realtime-react-hooks
const { data, isConnected } = useSSE({
url: '/api/events',
onMessage: (data) => updateState(data),
});// Or with SWR integration
const { data } = useRealtimeData('metrics', fetchMetrics);
Step 4: Resilient Connections
Handle connection failures gracefully.
Read: ai/skills/realtime/resilient-connections
const { isConnected, send } = useWebSocket({
url: 'wss://api/ws',
reconnect: true,
maxRetries: 5,
onMessage: handleMessage,
});
Step 5: Data Visualization
Build dark-themed financial charts.
Read: ai/skills/design-systems/financial-data-visualization
= 0}
/>
Step 6: Animated Displays
Add smooth number animations.
Read: ai/skills/design-systems/animated-financial-display
Component Skills Reference
| Skill | Purpose |
|-------|---------|
| dual-stream-architecture | Kafka + Redis publishing |
| websocket-hub-patterns | Scalable WebSocket server |
| realtime-react-hooks | SSE/WebSocket React hooks |
| resilient-connections | Retry, circuit breaker |
| financial-data-visualization | Chart theming |
| animated-financial-display | Number animations |
Key Patterns
Streaming Over Blocking
Never wait for all data. Show immediately, improve progressively:
Phase 1: Initial data + hints β Immediate display
Phase 2: Background refinement β Prices update in place
Phase 3: Historical data β Charts populate
Additive-Only Updates
Never zero out data when refinement fails. Only update when you have *better* data.
Connection Status
Always show users their connection state: