HumWatch

Windows Linux Self-Hosted Available

"What hums beneath the shell."

A self-hosted, local-first hardware monitoring system for Windows and Linux 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.

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.

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.

Dashboard Overview — Live gauges, charts, and sparklines for all monitored hardware.
HumWatch Dashboard Overview
Multi-Machine Network — Monitor all your PCs from one view with auto-discovery.
HumWatch Multi-Machine View
GPU & Thermals — Detailed telemetry including VRAM, core clocks, temperatures, and power draw.
HumWatch GPU and Thermals View

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.

  • CPU per-core temp, load, clock speed, power
  • GPU temp, load, VRAM, core/mem clocks
  • Memory & Swap usage over time
  • Disk read/write throughput and volume usage
  • Network upload/download and cumulative transfer
  • Battery charge level, rate, voltage, and health
  • Individual fan RPMs
  • Top processes by CPU and memory

[Theme Engine]

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.

[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 (Windows or Linux)]

  1. Clone the repository and run pip install -r requirements.txt
  2. (Windows) Optionally run the LibreHardwareMonitor download script for full sensor access.
  3. Run python -m agent.main to start the agent (or set it up as a systemd service).
  4. Open http://localhost:9100 in your browser.

[Sensor Access Note]

On Windows without LibreHardwareMonitor, or on Linux natively, HumWatch runs in psutil-only mode — CPU load, memory, disk, network, battery basics, and temperatures (if exposed via native sensors). With LHM on Windows, you also get advanced voltages, GPU metrics, fan speeds, and per-core clocks.

  • OS: Windows 10/11 or Linux
  • Browser: Any modern browser for the dashboard
  • Optional: Tailscale, ZeroTier, WireGuard, or similar for multi-machine access across networks
  • 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

GPL-3.0 — Copyright © 2026 Static Hum Studio