Three D3.js charts built like product interfaces. Live FPS monitor, interactive scatter plot, force-directed graph with drag and hover.
Three production-grade D3.js visualizations — performance monitor, scatter plot, force-directed graph — built like interactive product surfaces, not static charts. The kind of data UI an AI dashboard or agent observability console needs.
Frontend Engineer (AI dashboards) · Design Engineer · Data-Viz Engineer · AI Observability UX
In D3, every visual property — axis color, label size, transition timing — is a manual call. The brief: three chart types, live data, one visual language.
The constraint: D3 uses presentation attributes, not CSS. Design tokens don't inherit. Every color, opacity, and stroke width had to be applied at the render layer, not the style sheet.
The force graph was the hardest. Nodes, links, labels, and drag state update at 60fps while staying legible.
Frame rate over time. Live simulation — 60fps target, realistic jank spikes. Hover for exact values.
Every design decision from this portfolio mapped by implementation complexity and perceived impact. Size = lines of code. Hover any point for details.
All 12 nodes of the AI Interface Pattern set. Hover to highlight connections. Drag to explore.
The portfolio in raw numbers.