Project Pulse is a self-hosted, multi-tenant infrastructure & network monitoring platform in the spirit of PRTG and CheckMK — remote probes, host agents, auto-discovery, and SLA-driven alerting, built for MSPs and homelabs alike.
What it is
Pulse watches servers, network gear, and services across many customers and locations from a single pane of glass. Probes sit inside each network and dial home over an encrypted, outbound-only channel — nothing needs to be exposed to the internet. Metrics stream to a fast time-series store, and an SLA-aware engine turns problems into the right alert, to the right person, at the right time.
Designed & built in pair-programming with Claude. Counted on 25 August 2026 — lines of code is hand-written C#/TypeScript across 1,106 files, excluding generated database migrations; tests are xUnit facts plus theory cases.
Status
Pulse is under active, fast-moving development. Everything in the left column runs today; the right column is what's queued next. Honest and up to date.
snmp-disk, ssh-disk and wmi-disk grade every volume as channels of one sensor, under a shared channel cap so a roll-up cannot truncate silently.--upgrade that keeps the environment you added rather than overwriting it. Services run least-privilege by default. Dual DB providers, DevCert / PFX / Let's Encrypt TLS. Probe and load-balancer appliance images build from source on Ubuntu 26.04 LTS.openssl cannot is reported and then repaired in place. The web front door takes its certificate from the same CA, renewed 30 days out, with the private key never leaving the balancer.Principles
Self-hosted with no phone-home. Probes are outbound-only; nothing about your network is exposed.
True multi-tenancy: customers, departments, zones, and per-tenant roles — one deployment, many clients.
Point it at a subnet and it finds hosts, fingerprints them, and suggests the right sensors.
First-class SQL Server and PostgreSQL. No provider lock-in, ever.
Time-series in VictoriaMetrics — never bloating your relational database.
SLA tiers, dependency suppression, and escalation so you're paged for causes, not symptoms.