Section 01 · Start

Principles.

Six commitments. They're load-bearing — every other page in this manual is downstream of one of these. When a decision is hard, come back here.

01 · The wire is the source of truth

If a value isn't on the wire, it isn't real. Probes show raw bytes, headers, response codes, latencies. We don't pretty-print things into oblivion. JSON gets a tree view next to the raw body, never instead of it. The user is here because their abstraction lied to them; we don't add another.

02 · Density without claustrophobia

The app handles a lot of state — projects, probes, chains, history, proxy traffic. We respect users' time by showing more on screen than a marketing-driven UI would. But we do it with deliberate spacing, not by cramming. Use the spacing scale. Use whitespace as a separator before borders.

Rule of thumb: if you're tempted to add a third border or a third background tone to separate two things, you needed more space, not more chrome.

03 · Mono for facts, sans for prose

Anything that's a literal — URL, header value, hex, hostname, port, hash, ID, file path, status code, byte count — is mono. Anything that's a sentence is sans. Anything that's a label or a brand surface is the display face. Don't mix the rules.

04 · Color carries meaning, not decoration

Neon green = your primary affordance and "this worked." Yellow = warning or SMTP. Red = error or destructive. Violet = chains and LDAP. Blue = HTTP and informational. Lime = IMAP and success. Don't introduce a sixth colour because a button feels lonely. The protocol palette is part of the language users learn — don't muddy it.

05 · Honesty over optimism

Empty states tell you what to do, not how clever the product is. Errors give you the failed bytes and a remediation, not an apology. Loading states show what's happening (resolving DNS · connecting · TLS handshake · waiting for response), not a generic spinner. The audience is people who debug systems for a living — be precise.

06 · No marketing chrome in product surfaces

The website can have gradient text and pulsing dots and "Most popular" badges. The application can have none of that. In-app, gradients appear only on hero/empty-state illustrations. Pulse animations exist only for genuinely live things ("server connected", "probe streaming"). Star ribbons, "Pro!" sparkles, holographic cards — none of it. Ever.

What we don't optimise for