Demo
Connecting…
CPU usage
-
RAM usage
-
Disk usage
-
Uptime
-
Load average
-1 min
-5 min
-15 min
What it solves
Clear outcomes, no marketing language.
- Gives instant visibility into whether the server is healthy without SSH.
- Demonstrates real-time data polling, API design, and basic infrastructure awareness.
- Shows how to expose system metrics safely behind a reverse proxy with CORS + SSL.
How it works
Three moving parts, all simple.
psutil
Reads CPU, RAM, disk, uptime, and load averages from the OS.
Flask API
/api/pulse endpoint returns JSON. Runs behind nginx + SSL on Hetzner.
Frontend
Polls every 5 seconds. Renders gauges and bars with no dependencies.
Decisions
The tradeoffs that make this maintainable.
Same API service
Added as a route on the existing Flask app rather than a separate service. One deployment, one systemd unit.
No history storage
Metrics are point-in-time only. No database, no time-series. Keeps it simple for a demo.
Pure CSS gauges
Progress bars use CSS transitions on width. No chart library, no canvas, no external JS.