TRACTION
GRIP · TREAD · TRACTION
Not a dashboard

It already looked.
It will tell you.

Traction watches every project you ship — the repo, the registry, the mentions, and the app itself — then tells you once a day where things stand.

The all-clear is the feature. Catching the spike is the easy half.

Briefing · Thu 27 Aug · 06:127/7 SOURCES
✓
NOMINAL
14 movements evaluated · 11 were noise
URGENTdmux
Stars +212, about 40× baseline. Cause: front page of r/commandline four hours ago. Two top comments report the same Windows install failure.
CONFIDENCE HIGH · CORROBORATED BY TRAFFIC + FORKS
NOTABLEneedle
npm downloads −35%. Consistent with mirror-cache distortion, not a real drop — nothing else moved. Watching, not alerting.
CONFIDENCE LOW · ARTIFACT: NPM_MIRROR
The problem

A dashboard's silence means nothing

Here are three weeks that actually happened. Pick one, and watch what each surface tells you. The dashboard cannot tell them apart — you have to already know what you're looking for.

WITHOUT TRACTION
You open the dashboard, six days later
dmux · last 14dSYNCED ?
stars—
npm downloads—

Same layout, same numbers-shaped page, every time. Nothing on it distinguishes a quiet week from a broken one.

WITH TRACTION
It messaged you the morning it happened
Briefing—
✓
—
—
—dmux
—
—

Different week, different message — including when the answer is "I could not check."

In your terminal

Designed for the terminal first

The TUI is not a port of the web app — the web app is the roomier rendering of this. Severity reads without colour, so it survives a dumb terminal and a colourblind reader alike.

~/projects — traction

    

Suppression is auditable

Eleven movements were filtered before they reached you. traction why shows every one and the reason it was dismissed — because a product built on trusting silence has to let you check the silence.

Coverage is never implied

Seven of seven, or six of seven and the name of the one that failed. An agent that quietly stops collecting is worse than no agent, because by then you've stopped checking yourself.

On your phone

One interruption a day

A noisy Traction gets muted, and a muted Traction leaves you worse off than before you had it. So the budget is one push at normal severity — and the approval button for anything it wants to do is right there in the notification.

06:12
Thursday, 27 August
Traction · now
7/7 NOMINAL · 1 URGENT · dmux
Stars +212 (40× base). Front page of r/commandline. Two comments report a Windows install failure.
OPEN THREADOPEN ISSUE?

No account between you and it

Delivered over ntfy, which you can host yourself. Priority tracks severity, so a quiet week never buzzes your phone at all.

It never acts alone

Opening an issue, drafting a reply, posting anywhere — the agent proposes and waits. That second button is an approval gate, not a shortcut.

How it works

It finds out why before it tells you

"Stars +200" is a notification. "Stars +200, someone posted it to r/commandline, and the top comment is a Windows bug" is an answer.

01 / OBSERVE

Poll, cheaply

No model involved. Everything normalises to one shape so anything compares with anything.

02 / TRIAGE

Decide what's real

Statistics flag candidates; judgment classifies them. Mirror artifacts and weekend dips die here.

03 / INVESTIGATE

Go and look

Search the web, find the thread, read the comments, bring back the link.

04 / BRIEF

Say it plainly

Prose, not a metrics dump. Once a day unless it genuinely cannot wait.

05 / ASK FIRST

Never act alone

Anything outward-facing waits for your approval.

Every surface

Your CLI has users. You have no idea who they are.

Web and mobile analytics are solved. Terminals are not — and terminals are where a lot of developer tools actually live.

SurfaceWhat you'd use todayVerdict
WebPostHogSOLVED
MobilePostHog RN / iOS / AndroidSOLVED
DesktopPostHog web SDK in Electron or TauriWORKABLE
CLI—NOTHING
TUI—NOTHING

The environment matrix

Which terminal, which shell, which multiplexer, which colour depth, installed how. The CLI equivalent of a browser support matrix — and nobody offers it.

It never gets in the way

Events append to a local file and the process moves on. Nothing blocks, and a TUI's screen is never corrupted by a stray log line.

Arguments never leave the machine

Flag names, never their values. Values are withheld unless explicitly marked safe — and dropped anyway if they look like a secret.