PerfPulse00
Case 03 / developer toolingOpen source · live utility

PerfPulse

A system inspector that respects the machine it is inspecting.

PerfPulse began with a slow video call and became a product lesson: diagnosis, action, runtime footprint, and installation are one experience. A utility only becomes real when it is easy to trust and easy to run.

CoreRust
SurfacesCLI / TUI / web
Footprint3.3 MiB
Installbrew install perf-pulsepublic tap · pinned SHA-256 · real binaries
brew install hopeatina/perf-pulse/perf-pulsepublic tap · pinned SHA-256 · the install path is the product
PerfPulse local dashboard showing system health, processes, and meeting mode
One core, three operator surfaces

The local dashboard gives charts room to breathe while the CLI remains the fastest path to diagnosis and action.

01

The consequential problem

Inspection stopped at information

Activity Monitor could show the problem, but it could not help me recover the moment.

A slow call is not the time to interpret opaque process names, compare multiple charts, or wonder which background service is safe to pause. The system tools exposed state but left the operator to convert it into action under pressure.

Any replacement also had to avoid becoming the next heavyweight process on the list.

  • The primary interaction had to stay in the terminal.
  • Optional AI context could clarify—but not become the product.
  • Installation and runtime overhead were part of the feature contract.
02

What I saw

The user needed a next move, not another dashboard

Explain the state at the level where action is possible.

PerfPulse pairs process and system metrics with direct operating modes. Meeting mode can pause heavyweight background work before a call, then restore it later. Claude-assisted explanations are layered only where process names or tradeoffs are opaque.

03

The decision that changed the system

Distribution completed the architecture

Keep one small Rust core and let each interface earn its existence.

The CLI is the default. The TUI supports sustained terminal inspection. The local Axum dashboard exists for history and charts. All three ship in one binary through Homebrew, which keeps the path from curiosity to use intentionally short.

01Collect locally

System and process state stay on the machine.

02Choose a surface

CLI, TUI, or web appears only when the task needs it.

03Recommend action

The operator sees the tradeoff before a process is paused.

04Restore state

Meeting mode returns the machine to its prior operating state.

04

System anatomy / rationale / surfaces

One core, earned surfaces

Collection, explanation, action, and recovery share a small local-first architecture.

Each interface exists for a different temporal need: the CLI for the next move, the TUI for sustained inspection, and the web surface for history and comparison. None owns a separate truth.

Decision anatomy / select a knot

Pressure did not decorate the architecture. It determined it.

Before / tension

A performance tool can become another heavyweight process or send the operating picture somewhere else.

The knot / decision

Collect locally in a compact Rust core and keep the runtime footprint inside the product promise.

After / consequence

The inspector stays small enough to trust on the machine it is diagnosing.

Rust · local system APIs · stripped binary
01 / collectorRead the machine locally

A small Rust core gathers system and process state without sending the operating picture away.

Rust · system APIs
02 / decisionTranslate state into an operator choice

Process context and optional explanations clarify what is safe to pause and what the tradeoff will be.

local rules · optional Claude context
03 / surfacesMatch the interface to the time horizon

CLI, TUI, and Axum web views share one core instead of becoming three products.

CLI · TUI · Axum
04 / distributionMake use the default outcome

A single binary and Homebrew formula collapse the distance between discovering the tool and running it.

single binary · Homebrew
Architecture rationale / pressure → choice → consequence
PressureDecisionWhy it mattered
The diagnostic tool cannot become the workloadUse a compact Rust core

Runtime footprint remains part of the product promise.

Urgent diagnosis and historical inspection are different jobsDefault to CLI; add TUI and web only where they earn the cost

Each surface preserves the fastest useful path instead of competing for primacy.

Pausing work creates recovery debtRecord and restore prior state in Meeting Mode

Action stays reversible, which makes the recommendation trustworthy.

Surface atlas

The architecture is only complete when every operator and client boundary has a legible surface.

01 / immediate

CLI

Fast diagnosis and direct action at the point where developers already work.

02 / sustained

TUI

A persistent terminal view for live system inspection without leaving the shell.

03 / visual

Local dashboard

History, process comparison, and meeting readiness receive the space charts actually need.

04 / distribution

Homebrew

Installation becomes the first coherent product interaction, not a README obstacle.

Core

Rust · local system APIs · single binary

Surfaces

CLI · TUI · Axum web server

Delivery

Homebrew · local-first runtime · optional Claude context

Technology atlas / select a mark

The tools are evidence only when the choice is legible.

A curated record of where each system earned its place—not a wallpaper of configured integrations.

05

Authentic proof

PerfPulse web interface with score, charts, and active processes
The chart surface has a reason to exist

History, process comparison, and meeting readiness benefit from a visual surface; quick diagnosis does not require one.

PerfPulse CLI product preview showing JSON analysis piped to Claude
Immediate / CLI

The shortest path from machine state to an actionable explanation stays in the terminal and can feed another tool when needed.

PerfPulse terminal TUI product preview with live CPU and memory process state
Sustained / TUI

The same core signal earns a persistent terminal surface when the operator needs to watch change over time.

PerfPulse Meeting Mode product preview showing paused processes and automatic restore timing
Reversible action / Meeting Mode

The interface makes the intervention, resources freed, paused processes, and restore path visible in one state.

06

What changed in my operating model

A tool is more than its core algorithm

The final mile is where engineering becomes product.

PerfPulse changed how I assess developer tooling. A technically strong core is unfinished until the install path, operator hierarchy, recovery behavior, and runtime footprint resolve into one trustworthy experience.

  • Default to the fastest useful surface.
  • Use AI to clarify the boundary, not to decorate the feature list.
  • Treat installation as the first product interaction.