A small Rust core gathers system and process state without sending the operating picture away.
Rust · system APIsPerfPulse
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.
brew install hopeatina/perf-pulse/perf-pulsepublic tap · pinned SHA-256 · the install path is the product
The local dashboard gives charts room to breathe while the CLI remains the fastest path to diagnosis and action.
The consequential problem
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.
What I saw
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.
The decision that changed the system
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.
System and process state stay on the machine.
CLI, TUI, or web appears only when the task needs it.
The operator sees the tradeoff before a process is paused.
Meeting mode returns the machine to its prior operating state.
System anatomy / rationale / 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.
Pressure did not decorate the architecture. It determined it.
A performance tool can become another heavyweight process or send the operating picture somewhere else.
Collect locally in a compact Rust core and keep the runtime footprint inside the product promise.
The inspector stays small enough to trust on the machine it is diagnosing.
Process context and optional explanations clarify what is safe to pause and what the tradeoff will be.
local rules · optional Claude contextCLI, TUI, and Axum web views share one core instead of becoming three products.
CLI · TUI · AxumA single binary and Homebrew formula collapse the distance between discovering the tool and running it.
single binary · HomebrewRuntime footprint remains part of the product promise.
Each surface preserves the fastest useful path instead of competing for primacy.
Action stays reversible, which makes the recommendation trustworthy.
The architecture is only complete when every operator and client boundary has a legible surface.
CLI
Fast diagnosis and direct action at the point where developers already work.
TUI
A persistent terminal view for live system inspection without leaving the shell.
Local dashboard
History, process comparison, and meeting readiness receive the space charts actually need.
Homebrew
Installation becomes the first coherent product interaction, not a README obstacle.
Rust · local system APIs · single binary
CLI · TUI · Axum web server
Homebrew · local-first runtime · optional Claude context
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.
Authentic proof

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

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

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

The interface makes the intervention, resources freed, paused processes, and restore path visible in one state.
What changed in my operating model
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.