_bad · Benji App Design

The design constitution of the Benji suite — every token, every part, every rule, live and copyable. Hand it to any AI and it builds like the family.

app v1.1 · protocol v1.2 · last trend review aug 9, 2026 · dr.z

the constitution at a glance

the handoff

One button, one paste, one house style.

Every _bad app is one self-contained HTML file — no frameworks, no CDNs, no webfonts, no storage. Copy the protocol puts the full v1.2 text on the clipboard. Paste it into any AI, say “build it in _bad style”, and the output is a sibling of everything already live.

Nothing leaves this page on its own. Copy writes to your clipboard, nothing else.

§0 · how to use this protocol

§1 · design philosophy

§2 · design tokens — exact values

Tap any value to copy it. Both themes are first-class: nothing ships that only looks right in the dark.

tokendarklightwhat it means

status is color, color is status

§3 · typography

One font stack: system-ui, -apple-system, "Segoe UI", sans-serif. Never a webfont. All numbers tabular-nums, tight tracking.

the scale, rendered at true size

the signature move

days left
27
ABP MDT window closes Sep 8

Tiny uppercase ghost label above a huge bold number, small muted note below. The number speaks; the label whispers. Use it everywhere a metric lives.

Voice rules (§7)

§4 · component library — live

Fourteen parts. Build from these; invent new ones only in this same voice. Everything below is the real thing, running.

§5–§6 · the ship check

Sixteen lines. A build is not finished until every one of them is true. Tick them as you verify — the count is in memory only, per §6.

ship check
0 / 16
nothing verified yet
file count
1
one app = one index.html = one worker
external calls
0
no CDN, no webfont, no backend
storage used
0
state lives in JS memory only

§5 · layout law

§8 · the family — live right now

Every app below is a sibling: same tokens, same parts, same rules. Verified by loading each URL on Aug 12, 2026.

the build chain

§10 · changelog — append, never rewrite

verdatechange

this app

verdatechange