All Projects

LatencyPulse

A macOS menu bar app that monitors your network health in real time, learns per-network baselines, and alerts you the moment something's wrong.

Tool macOS Swift SwiftUI CoreWLAN Network Framework
#Networking#macOS#Menu Bar#Diagnostics

Overview

LatencyPulse is a lightweight macOS menu bar app that continuously monitors your network health, learns what “normal” looks like for each network you connect to, and alerts you when things go wrong — before you notice it in a dropped call or a stalled upload.

Core Idea

Not all networks are equal, and a single fixed latency threshold is useless across a home Wi-Fi network, a coffee shop hotspot, and a wired office connection. LatencyPulse tracks a separate baseline per network profile — keyed by SSID, connection type, and frequency band — so “degraded” means degraded for that network, not degraded compared to some arbitrary global number.

Features

  • Real-time health monitoring — probes latency every 5–60 seconds and classifies your connection as Good, Degraded, Poor, or Offline
  • Per-network baselines — learns normal latency for each network, distinguishing even 2.4 GHz and 5 GHz bands on the same SSID
  • Rich connection details — Wi-Fi band, channel, link speed, signal strength, and Ethernet negotiated speed
  • Smart notifications — configurable alerts for degradation, poor connectivity, offline, and recovery, with adjustable cooldown
  • Dashboard — a full baseline history viewer with per-network stats, latency charts, and health thresholds
  • Export & import — back up baseline data as JSON and restore or migrate it later
  • Configurable probe target — Apple, Google, Cloudflare presets, or a custom endpoint
  • Sleep/wake aware — pauses probing on sleep and discards the first post-wake sample to avoid false alarms
  • Low resource usage — around 19 MB of RAM and 0.1% average CPU

How It Works

A network monitor watches connectivity state, a details service reads Wi-Fi and Ethernet metadata, and a probe service sends periodic HTTP HEAD requests to measure round-trip latency. A baseline manager keeps a rolling window of recent samples per network profile and computes health thresholds from it. The core engine compares each new sample against the baseline and transitions between health states, firing user-configurable notifications on the way.

Status

In active development, built for macOS 26 with Swift 6.