explaingit

crafcat7/peakmon

7SwiftAudience · developerComplexity · 3/5ActiveLicenseSetup · easy

TLDR

Native macOS menu bar app that shows live CPU, GPU, memory, battery, disk, and network stats. Pure Swift and SwiftUI, no Electron, no telemetry.

Mindmap

mindmap
  root((Peakmon))
    Inputs
      System sensors
      Process list
    Outputs
      Menu bar widgets
      Top processes view
      Live charts
    Use Cases
      Replace Activity Monitor
      Spot resource hogs
      Monitor Apple Silicon Macs
    Tech Stack
      Swift
      SwiftUI
      Swift Concurrency

Things people build with this

USE CASE 1

See live CPU GPU and memory load in the macOS menu bar

USE CASE 2

Spot which process is hammering the disk or network

USE CASE 3

Replace Activity Monitor with a lighter Swift-native tool

USE CASE 4

Hack on a clean SwiftUI codebase split into focused Swift Packages

Tech stack

SwiftSwiftUImacOS

Getting it running

Difficulty · easy Time to first run · 5min

Ad-hoc signed and unsandboxed, so first launch needs a right-click Open; tuned for Apple Silicon, Intel support is best effort.

Apache 2.0 lets anyone use, modify, and ship the code commercially as long as the licence and notices stay.

In plain English

Peakmon is a small macOS app that lives in the menu bar at the top of the screen and shows live readings of how your Mac is doing. It can display CPU usage, GPU usage, memory, battery, disk activity, network traffic, and the processes that are using the most resources. The README describes it as a lighter alternative to Activity Monitor, with no Electron wrapper and no telemetry sent anywhere. The project is written entirely in Swift, using Apple's own SwiftUI framework for the interface and Swift Concurrency for background work. The README is explicit that it avoids common third-party libraries and older Apple APIs such as Combine and NSTimer. The authors say it is designed Apple Silicon first, meaning Macs with the newer M-series chips, and uses Apple-specific system services to read sensor data. Intel Macs are supported on a best-effort basis. To install it, you can either run a Homebrew command (a popular package installer for Mac developers) or download a pre-built .app file from the GitHub Releases page and drag it into Applications. The README warns that the app sandbox is turned off, because the program needs deeper access to system information than sandboxed apps are allowed, and that the signing is ad-hoc, so on first launch you have to right-click the icon and choose Open to get past Apple's Gatekeeper warning. A Mac App Store version is not planned. The codebase is split into smaller Swift Packages: PeakmonCore for shared models and the scheduler, PeakmonCollectors for the individual metric readers, and PeakmonUI for reusable view code. Contributors are asked to use Swift 6.2 or newer, to run a linter called swiftlint in strict mode before submitting changes, and to follow Conventional Commits for commit messages. The README states that only one component is allowed to poll the system for new readings, and views read from a shared store, which keeps the data flow simple. The project is released under the Apache License 2.0.

Copy-paste prompts

Prompt 1
Install Peakmon with Homebrew and walk past the Gatekeeper warning on first launch
Prompt 2
Add a new metric collector to PeakmonCollectors that reads fan speed
Prompt 3
Explain how PeakmonCore schedules a single poller and fans data out to views
Prompt 4
Set up swiftlint strict mode and Conventional Commits in a fork of Peakmon
Prompt 5
Compare Peakmon CPU readings against Activity Monitor and account for any drift
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.