Wireframe Grey
Deliberately unfinished: dashed boxes, grey everything, no decisions made yet.
Construction · Wireframe
Nothing is decided: dashed placeholder boxes, no fills, and a deliberately unfinished edge so nobody argues about color.
Every style renders this same screen, so the only thing changing between two of them is the style. The component above is the file below, running.
Prompt
Design this interface in the Wireframe Grey style. Everything is a dashed grey box with placeholder weight type. It signals explicitly that visual design has not happened yet, so nobody argues about color. Build every
The numbers in this prompt are printed from the tokens below, so it cannot drift from what the specimen renders.
What carries the look
- dashed placeholder boxes
- grey only
- no color decisions
- explicitly unfinished
What this style refuses
- brand color
- finished-looking shadows
- photographic content
- expressive type
The refusals are the half that keeps generated interfaces from converging — a prompt that only says what to add gets the default look.
Tokens
Palette
#f6f6f6#111111#fbfbfb#181818#9a9a9a#5c5c5c#1f1f1f#ebebeb#5e5e5e#9b9b9b#3a3a3a#cfcfcf#ffffff#111111Shape and type
Measured contrast — body 15.25:1 light, 15.84:1 dark; secondary text 6:1 and 6.79:1. Every pair clears WCAG AA in both themes, checked on each build.
Specimen · Specimen.tsx
import type { CSSProperties } from "react";
/**
* Vibary · Wireframe Grey
*
* Deliberately unfinished: dashed boxes, grey everything, no decisions made yet.
*
* One complete product screen, rendered from the token object below —