
Fitting 22 Nodes on One Screen: Refactoring the Dashboard Node Management UI
Fitting 22 Nodes on One Screen: Refactoring the Dashboard Node Management UI Real experience: 2026-03-21, improving a homelab management dashboard Background: The Node Count Doubled Our homelab quietly grew to 22 machines — Raspberry Pis, GMK mini PCs, a Mac mini, dedicated infrastructure boxes. The management UI was originally designed for about 10 nodes, and it had become a scrolling nightmare. The expansion happened in one push: 10 new GMK mini PCs joined the fleet as agent01 through agent10 with sequential IPs. On top of that, a Mac mini had its IP reassigned and one node got renamed. The dashboard's "Node Management" page had node master data hardcoded in two places — server-side (Flask) and client-side (Vanilla JS). Both were stale. What I Did 1. Syncing Master Data Node definitions lived in two places: NODES_REGISTRY in server.py and getLocalNodeData() in the frontend JavaScript. Maintaining both manually is painful, but I kept it simple this time and just updated both. Changes:
Continue reading on Dev.to JavaScript
Opens in a new tab


