HumWatch
"What hums beneath the shell."
A self-hosted, local-first hardware monitoring system for Windows PCs. Each machine runs a lightweight agent that collects full hardware telemetry — thermals, performance, battery, fans, processes — stores 7 days of rolling history in a local SQLite database, and serves a real-time dashboard on a single port. No cloud. No accounts. All data stays on your machine. Network-agnostic — works over LAN, Tailscale, ZeroTier, WireGuard, or any overlay network.
What It Monitors
- CPU — Per-core temperature, load, clock speed, package power, voltage.
- GPU — Temperature, load, VRAM, core and memory clocks, power draw, fan speed. Appears automatically when a discrete GPU is detected.
- Memory — RAM and swap usage.
- Disk — Read and write throughput, volume usage, drive temperatures.
- Network — Upload and download rates, cumulative transfer.
- Battery — Charge level, charge rate, voltage, health and wear, cycle count. Shows up only on laptops.
- Fans — Individual fan RPMs.
- Processes — Top processes by CPU and memory usage.
Screenshots
The Dashboard
HumWatch serves a full dashboard from the same port as its API. Each section gets its own sidebar page with dedicated visualizations.
Overview
CPU load, GPU load, RAM usage, temperatures, and battery at a glance. Everything important on one screen.
CPU & GPU
Per-core load and temperatures, clock speeds, power draw. GPU metrics appear automatically when a discrete GPU is present — no configuration needed.
Memory, Disk & Network
RAM and swap usage over time, top memory consumers, read and write speeds, volume usage, upload and download rates with cumulative transfer tracking.
Processes
Top 10 resource-consuming processes, updated live. See what is eating your CPU and memory in real time.
Machines
Multi-machine view with status cards. Add machines by IP — or let HumWatch auto-discover other instances on your local subnet and via Tailscale or ZeroTier CLI. Click any card to open that machine's full dashboard.
Connection Status
The sidebar shows a live connection indicator: green means live, amber means reconnecting, gray means disconnected. All updates arrive via Server-Sent Events — no polling, no page refresh.
Features
Zero-Config Discovery
If your machine has a battery, battery metrics appear. If it has a discrete GPU, GPU metrics appear. No config files to edit, no hardware to specify. HumWatch figures it out.
7-Day Rolling History
All telemetry is stored in a local SQLite database in WAL mode. Query historical data through the REST API with automatic downsampling based on the requested time range. Old data rolls off after 7 days.
Themeable
Ships with three themes: Default (void black with gold and teal accents), Light (warm off-white with blue), and Terminal (green on black, monospace, scanlines). Creating your own is a matter of editing CSS custom properties.
REST API
Every metric HumWatch collects is available through a clean REST API on the same port as the dashboard. Health checks, machine identity, current readings, historical time-series, process lists, and a Server-Sent Events stream for real-time integration.
Network-Agnostic
Designed to work over any network you already have. LAN, Tailscale, ZeroTier, WireGuard — if machines can reach each other, HumWatch works. Auto-discovers other instances on your local subnet and via Tailscale or ZeroTier CLI if installed.
Installation
Installer (Recommended)
Download HumWatch-Setup-vX.X.X.exe from the releases page and run it. The installer bundles Python 3.12, all dependencies, LibreHardwareMonitor, Windows service registration, a firewall rule, and auto-start on boot. Once installed, open http://localhost:9100 in your browser.
From Source (Development)
- Clone the repository and run
pip install -r requirements.txt - Optionally run the LibreHardwareMonitor download script for full sensor access.
- Run
python -m agent.mainto start the agent. - Open http://localhost:9100 in your browser.
With or Without LibreHardwareMonitor
Without LHM, HumWatch runs in psutil-only mode — CPU load, memory, disk, network, and battery basics. With LHM, you also get temperatures, voltages, GPU metrics, fan speeds, and per-core clocks. Both modes work. LHM just gives you more.
Requirements
- OS: Windows 10 or 11
- Browser: Any modern browser for the dashboard
- Optional: Tailscale, ZeroTier, WireGuard, or similar for multi-machine access across networks
Tech Stack
- Agent: Python, FastAPI, Uvicorn, psutil, aiosqlite
- Sensors: LibreHardwareMonitor (optional, via pythonnet)
- Database: SQLite in WAL mode
- Dashboard: Vanilla JavaScript, Chart.js 4, Lucide Icons
- Fonts: Inter, JetBrains Mono
Get HumWatch
GPL-3.0 — Copyright © 2026 Static Hum Studio