A homelab dashboard is a weird workload. It idles 99% of the time but still needs to poll metrics every few seconds, hold WebSocket connections, encrypt secrets, and never leak memory over months of uptime.
My homelab had the usual problem: twenty services, zero good way to open them.
I tried the usual suspects. Heimdall looked nice until I checked htop and saw PHP-FPM doing absolutely nothing useful while holding ~150MB. Homepage was closer to what I wanted — live widgets, clean UI — but I spent an entire Sunday debugging a YAML indent before I admitted I hate editing config files on disk for something as dumb as "add Jellyfin link."
So I did what any reasonable person with too much free time does: I wrote another dashboard.