Public vault · the index · compare
Compare families & landscape
Put any two of the 40 populated aesthetic families side by side to inspect their typefaces, open-source font stand-ins, measured WCAG contrast pairs, and move-by-move steal-notes — then synthesize a working DESIGN.md brief or CSS :root sheet, or benchmark how Trova compares to peer platforms.
Aesthetic Differential Workbench
Select two families to compare side by side
Curated Synthesis Presets
01 · Structural & Chromatic Anatomy
Swiss / International vs. Dark Premium
Swiss / International
Objective grids, Akzidenz/Helvetica descendants, red-black-white restraint. Hierarchy carried entirely by scale, weight, and placement — never decoration.
Observed Typefaces (10)
- system-ui2/15
- Akzidenz-Grotesk1/15
- Cal Sans1/15
- Euclid Flex1/15
- Geist1/15
- geometric sans1/15
Free Loadable Stand-Ins
- Akzidenz-Grotesk (licensed) → Archivo
- Euclid Flex (licensed) → Outfit
- GT America (licensed) → Inter Tight
Captured Palette Chromatography
- #141414
dark neutral - #ffffff
light neutral - #27272a
dark neutral - #ece8df
light neutral - #000000
dark neutral
Verified WCAG Readable Pairs
- Steal this.#141414 on #ffffff · 18.4:1
- Steal this.#141414 on #ece8df · 15.1:1
Dark Premium
Near-black fields, hairline gradients, one metallic or electric accent, understated serif. Whispers expensive; the restraint is the flex.
Observed Typefaces (10)
- Inter2/8
- Berkeley Mono1/8
- Domaine1/8
- GT Walsheim1/8
- Inter Display1/8
- Inter Variable1/8
Free Loadable Stand-Ins
- Berkeley Mono (licensed) → JetBrains Mono
- Söhne (licensed) → Inter
Captured Palette Chromatography
- #08090a
dark neutral - #f7f8f8
light neutral - #e5e5e5
light neutral - #201819
dark neutral - #26283b
dark neutral
Verified WCAG Readable Pairs
- Steal this.#08090a on #f7f8f8 · 18.7:1
- Steal this.#08090a on #e5e5e5 · 15.8:1
02 · Mechanism Comparison by Move Type
Move-by-move steal-note matrix
How Swiss / International and Dark Premium solve the same 7 structural design dimensions differently. Every observation is cited to a specific captured specimen in the vault.
Swiss / International
Specimen shows the same sentence across 6 widths × 7 weights in a matrix — the family as a system, not a menu.
7-gt-america-specimen · GT America specimen
The captured hero uses a very large, heavy sans-serif headline across two centered lines. Smaller navigation and a compact release announcement create hierarchy without several competing display styles.
107-ghost-typographic-promise-above-product-evidence · Ghost — typographic promise above product evidence · model draft
Dark Premium
Tiempos Headline / Söhne pairing: old-money serif for claims, neutral grotesque for evidence. Finance gravitas without cliché.
18-endex · Endex
The upper-left brand lockup uses serif type, while each book retains its own cover typography. Keep the interface restrained when the collection already contains many visual voices.
109-stripe-press-a-catalogue-composed-from-book-spines · Stripe Press — a catalogue composed from book spines · model draft
Swiss / International
Müller-Brockmann concert posters: type set on a strict grid, then ONE element breaks it diagonally. The violation only works because the grid is absolute.
9-museum-f-r-gestaltung-poster-archive · Museum für Gestaltung poster archive
Baseline-locked two-column layout where every image top-aligns to a text cap-height. Invisible rigor you feel, not see.
7-gt-america-specimen · GT America specimen
Dark Premium
Hairline borders at 8% white opacity define all structure; no shadows anywhere in dark mode.
16-linear · Linear
The captured catalogue centers a vertical stack of book spines on a dark field, with generous space around the stack. The physical objects become the organizing structure rather than sitting inside a conventional product-card grid.
109-stripe-press-a-catalogue-composed-from-book-spines · Stripe Press — a catalogue composed from book spines · model draft
Swiss / International
Pure #000 on pure #FFF with a single fire-red. No grays anywhere; the absence of mid-tones is the brand.
8-swiss-typefaces · Swiss Typefaces
The release announcement uses a warm yellow accent while the primary navigation action is dark. Give secondary news a distinct signal without making it look like the main conversion action.
107-ghost-typographic-promise-above-product-evidence · Ghost — typographic promise above product evidence · model draft
Dark Premium
Purple accent appears ONLY in glows and gradients, never as flat fill — light, not paint.
16-linear · Linear
Most of the visible color belongs to the book spines against the dark background. Let the objects supply variety while the surrounding interface stays quiet; this observation does not establish keyboard or motion behavior.
109-stripe-press-a-catalogue-composed-from-book-spines · Stripe Press — a catalogue composed from book spines · model draft
Swiss / International
Hover on a typeface name swaps the entire viewport background to that face's specimen — navigation IS the demo.
8-swiss-typefaces · Swiss Typefaces
The filter lives in the URL (?f=is,source,Google), so a drilled view is a link someone can share or bookmark.
95-plausible-filtered-to-one-source · Plausible — filtered to one source · model draft
Dark Premium
Feature cards tilt ≤2° on hover with a 400ms ease — motion you sense rather than watch.
16-linear · Linear
Swiss / International
Clicking a row in a table becomes a filter chip ('Source is Google') next to the site name, and every number on the page re-scopes. Drill-down needs no query builder.
95-plausible-filtered-to-one-source · Plausible — filtered to one source · model draft
The hero image is the product: a "Create your account" form with "Continue with Google" tagged "Last used", "Continue with GitHub", an "or" divider, and an email field caught mid-typing ("chris.walker@exam") under a cursor, with faded sign-in panels on either side. Steal the embeddable component as the hero shot, frozen mid-interaction, for a product whose output is UI.
86-clerk-homepage-hero · Clerk — homepage hero · model draft
Dark Premium
Pricing table where the free tier is visually equal to paid — confidence signaling that converts better than dark-patterning.
17-raycast · Raycast
There is no global monthly/yearly switch: a "Billed yearly" toggle appears only in the Basic and Business columns, while the same row reads "Free for everyone" under Free and "Annual billing only" under Enterprise. Steal the per-plan billing row, which places a toggle only where it changes a price and uses the slot to state terms everywhere else.
81-linear-pricing · Linear — pricing · model draft
Swiss / International
A drawn white window grid is laid flat over a photographic landscape, so hard vector line sits directly on continuous tone with no blending at all. Cheap to reproduce in CSS: a `repeating-linear-gradient` mullion grid over an image, no blend mode, full opacity.
28-die-neue-linie-cover-september-1929 · die neue linie — cover, September 1929 · model draft
One glyph is blown up to roughly 8× the alphabet's reading size and filled with a coarse grain, sitting immediately beside the same letterforms set plain. The identical shape appears twice — once as information, once as image. Steal the pairing, not the grain: a display-scale letterform with texture next to the same face at body scale, clean.
27-herbert-bayer-universal-alphabet-proof-sheet · Herbert Bayer — Universal alphabet, proof sheet · model draft
Dark Premium
Subtle noise grain over every gradient stops the banding AND adds materiality at 2% opacity.
17-raycast · Raycast
The right half holds a single 3D cube of near-black facets in mixed finishes (matte, perforated, speckled), lit from above, with one pale light band sweeping diagonally across the lower third of the black ground. Steal one monochrome rendered object as the hero image, giving depth without adding a color.
78-resend-homepage-hero · Resend — homepage hero · model draft
Swiss / International
The demo is the real dashboard for plausible.io with live numbers, linked from the marketing site. The product is its own screenshot.
94-plausible-live-demo-dashboard · Plausible — live demo dashboard · model draft
In place of a CTA button pair, the hero carries a box labeled "Build with agents" with one mono line, "> Add Clerk auth to my app: clerk.com/SKILL.md", and a copy icon; the nav has no filled button, only "Sign in" and "Sign up" as text. Steal a copyable one-line prompt as the developer CTA, written as the exact instruction to paste into a coding agent.
86-clerk-homepage-hero · Clerk — homepage hero · model draft
Dark Premium
Six words on the entire first viewport. Institutional confidence = information withheld.
18-endex · Endex
03 · Executable Output · DESIGN.md, Agent Harness Rules & CSS Tokens
Synthesize a working system brief, `.cursorrules` / `CLAUDE.md`, or CSS tokens
Moodboards stall when it is time to open an editor. Export a cited DESIGN.md brief combining Swiss / International (80% primary architecture) with Dark Premium (20% counterpoint), drop a ready-made .cursorrules / CLAUDE.md harness file into your repository, or copy Tailwind v4 @theme and CSS :root tokens mapped to open-source stand-in fonts.
Display: system-ui · Body: Archivo
Swiss / International Architecture with Dark Premium Counterpoint
Müller-Brockmann concert posters: type set on a strict grid, then ONE element breaks it diagonally. The violation only works because the grid is absolute.
20% Counterpoint Telemetry (JetBrains Mono)
- --surface-ground
- #ffffff
- --text-primary
- #141414
- --accent-primary
- #27272a
- --accent-counter
- #08090a
# DESIGN.md — Swiss / International × Dark Premium Synthesis
> **80% Primary Architecture:** Swiss / International (`swiss`, 15 refs)
> **20% Counterpoint / Accent:** Dark Premium (`dark-premium`, 8 refs)
## 1. Visual Direction & Thesis
- **Primary Foundation (Swiss / International):** Objective grids, Akzidenz/Helvetica descendants, red-black-white restraint. Hierarchy carried entirely by scale, weight, and placement — never decoration.
- **Secondary Counterpoint (Dark Premium):** Borrow selective tension from Dark Premium — Near-black fields, hairline gradients, one metallic or electric accent, understated serif. Whispers expensive; the restraint is the flex.
## 2. Typography & Loadable Stand-Ins
- **Primary Display & Body (Swiss / International):** system-ui (2/15), Akzidenz-Grotesk (1/15), Cal Sans (1/15), Euclid Flex (1/15)
- **Counterpoint / Accent Face (Dark Premium):** Inter (2/8), Berkeley Mono (1/8), Domaine (1/8)
- **Free Loadable Stand-Ins:**
- Akzidenz-Grotesk (licensed) → Archivo
- Euclid Flex (licensed) → Outfit
- GT America (licensed) → Inter Tight
- Berkeley Mono (licensed) → JetBrains Mono
- Söhne (licensed) → Inter
## 3. Chromatic Polarity & Verified Contrast
- **Primary Surface Pair (Swiss / International):** `#141414` on `#ffffff` (18.4:1 WCAG contrast)
- **Counterpoint Signal Color (Dark Premium):** `#08090a` (reserve for active state, focus ring, or single focal callout)
## 4. Structural Moves to Steal
- **[Primary · grid/layout]** Müller-Brockmann concert posters: type set on a strict grid, then ONE element breaks it diagonally. The violation only works because the grid is absolute. _(9-museum-f-r-gestaltung-poster-archive Museum für Gestaltung poster archive)_
- **[Primary · color]** Pure #000 on pure #FFF with a single fire-red. No grays anywhere; the absence of mid-tones is the brand. _(8-swiss-typefaces Swiss Typefaces)_
- **[Primary · component pattern]** Clicking a row in a table becomes a filter chip ('Source is Google') next to the site name, and every number on the page re-scopes. Drill-down needs no query builder. _(95-plausible-filtered-to-one-source Plausible — filtered to one source)_
- **[Primary · typography]** Specimen shows the same sentence across 6 widths × 7 weights in a matrix — the family as a system, not a menu. _(7-gt-america-specimen GT America specimen)_
- **[Counterpoint · grid/layout]** Hairline borders at 8% white opacity define all structure; no shadows anywhere in dark mode. _(16-linear Linear)_
- **[Counterpoint · component pattern]** Pricing table where the free tier is visually equal to paid — confidence signaling that converts better than dark-patterning. _(17-raycast Raycast)_
- **[Counterpoint · color]** Purple accent appears ONLY in glows and gradients, never as flat fill — light, not paint. _(16-linear Linear)_
## 5. Cited Reference Anchors
- **Primary (Swiss / International):** 9-museum-f-r-gestaltung-poster-archive Museum für Gestaltung poster archive ★ canonical
- **Primary (Swiss / International):** 107-ghost-typographic-promise-above-product-evidence Ghost — typographic promise above product evidence
- **Primary (Swiss / International):** 95-plausible-filtered-to-one-source Plausible — filtered to one source
- **Counterpoint (Dark Premium):** 16-linear Linear ★ canonical
- **Counterpoint (Dark Premium):** 109-stripe-press-a-catalogue-composed-from-book-spines Stripe Press — a catalogue composed from book spinesAutomate in CI & Your Repo · Full-Depth CLI + Headless Chromium Audit
Get a full-corpus key (27 families · 500 calls/day) →The browser workbench above synthesizes a starter preview from the top notes in each move. With a Trova access key, drop the complete 15-reference Swiss / International Trovafileinto your repository and run a real headless Chromium DOM & WCAG contrast audit against your local dev server:
npx trova init --family swiss --token $TROVA_TOKEN npx trova audit http://localhost:3000 --family swiss
04 · Pre-Flight Verification · UI Code & Anti-Slop Auditor
Audit JSX / Tailwind / CSS against Swiss / International
Paste any React, HTML, Tailwind, or CSS component snippet below (or load a sample) to verify its geometry, chromatic tokens, type scale, tabular numerals, and hit targets against Swiss / International. Copy the generated refactor prompt at the bottom to hand directly to Claude Code or Cursor.
Diagnostic Findings (6)
- ✗ Violation · Structural GeometryRef #9 ↗
Detected oversized border-radius (`rounded-xl`/`2xl`/`3xl` or >=12px radius) that softens structural grid cells into generic SaaS bubbles.
→ Replace rounded card wrappers with `rounded-none` (`0px`) and exposed `1px solid` hairline borders aligned to Swiss / International.
- ✗ Violation · Surface ElevationRef #9 ↗
Detected heavy drop-shadow (`shadow-lg`/`xl`/`2xl` or blurred `box-shadow`) simulating floating cards instead of tonal surface steps.
→ Remove drop shadows (`shadow-none`) and separate elevation through `--surface-ground` vs. `--surface-elevated` plus `1px` borders.
- ✗ Violation · Chromatic PolarityRef #8 ↗
Detected generic AI-slop indigo/purple/pink gradient classes unrelated to the family's captured chromatography.
→ Strip synthetic gradients and bind surfaces to Swiss / International verified tokens (`#141414` on `#ffffff` (18.4:1)).
- ✗ Violation · Typographic HierarchyRef #7 ↗
Detected sub-13px micro-copy (`text-xs` or `10px–12px`), which degrades legibility and breaks archival hierarchy.
→ Raise small metadata to `text-[0.8125rem]` (13px) and differentiate with `font-mono uppercase tracking-[0.12em]`.
- △ Warning · Numeric DisciplineRef #7 ↗
Detected numeric figures, prices, or metrics without `tabular-nums` (`font-variant-numeric: tabular-nums`).
→ Add `tabular-nums` (or `.tnum`) so numerals align vertically across rows and live updates.
- △ Warning · Interactive ErgonomicsRef #9 ↗
Interactive element (`<button>`, `<a>`, `<select>`) lacks an explicit >=44px (`min-h-11`) touch/click target.
→ Add `min-h-11 inline-flex items-center` to interactive controls.
Ready-to-Paste Agent Refactor Prompt (Swiss / International × Dark Premium)
Refactor the following UI component to strictly adhere to the Trova Swiss / International × Dark Premium design system (Score: 0/100 · AI Slop Detected).
### Required Aesthetic Corrections
1. [Structural Geometry] Detected oversized border-radius (`rounded-xl`/`2xl`/`3xl` or >=12px radius) that softens structural grid cells into generic SaaS bubbles.
→ Fix: Replace rounded card wrappers with `rounded-none` (`0px`) and exposed `1px solid` hairline borders aligned to Swiss / International. (Trova ref: 9-museum-f-r-gestaltung-poster-archive)
2. [Surface Elevation] Detected heavy drop-shadow (`shadow-lg`/`xl`/`2xl` or blurred `box-shadow`) simulating floating cards instead of tonal surface steps.
→ Fix: Remove drop shadows (`shadow-none`) and separate elevation through `--surface-ground` vs. `--surface-elevated` plus `1px` borders. (Trova ref: 9-museum-f-r-gestaltung-poster-archive)
3. [Chromatic Polarity] Detected generic AI-slop indigo/purple/pink gradient classes unrelated to the family's captured chromatography.
→ Fix: Strip synthetic gradients and bind surfaces to Swiss / International verified tokens (`#141414` on `#ffffff` (18.4:1)). (Trova ref: 8-swiss-typefaces)
4. [Typographic Hierarchy] Detected sub-13px micro-copy (`text-xs` or `10px–12px`), which degrades legibility and breaks archival hierarchy.
→ Fix: Raise small metadata to `text-[0.8125rem]` (13px) and differentiate with `font-mono uppercase tracking-[0.12em]`. (Trova ref: 7-gt-america-specimen)
5. [Numeric Discipline] Detected numeric figures, prices, or metrics without `tabular-nums` (`font-variant-numeric: tabular-nums`).
→ Fix: Add `tabular-nums` (or `.tnum`) so numerals align vertically across rows and live updates. (Trova ref: 7-gt-america-specimen)
6. [Interactive Ergonomics] Interactive element (`<button>`, `<a>`, `<select>`) lacks an explicit >=44px (`min-h-11`) touch/click target.
→ Fix: Add `min-h-11 inline-flex items-center` to interactive controls. (Trova ref: 9-museum-f-r-gestaltung-poster-archive)
### Target CSS Custom Properties
/* Synthesized from Trova family: Swiss / International (swiss) */
/* Evidence base: 15 curated reference(s) · Primary contrast 18.4:1 */
:root {
/* Surface & Polarity (Daylight-paper dominant) */
--surface-ground: #ffffff;
--surface-elevated: #ece8df;
--text-primary: #141414;
--accent-primary: #27272a;
--border-hairline: color-mix(in srgb, #141414 16%, transparent);
/* Typography (Loadable open-source stack mapped from observed specimens) */
--font-display: "system-ui", system-ui, sans-serif;
--font-body: "Archivo", system-ui, sans-serif;
--font-mono: "IBM Plex Mono", ui-monospace, monospace;
/* Structural Geometry */
--radius-surface: 0px;
--measure-body: 62ch;
}
### Component Code to Refactor
```tsx
<div className="rounded-3xl shadow-2xl bg-gradient-to-br from-indigo-500 via-purple-500 to-pink-500 p-6">
<span className="text-[10px] uppercase text-white/70">Pro Plan</span>
<h3 className="text-2xl font-bold text-white">$49/mo</h3>
<p className="text-xs text-white/80">99.98% uptime across 12,450 nodes</p>
<button className="rounded-full bg-white px-3 py-1 text-xs text-indigo-600">
Upgrade Now
</button>
</div>
```05 · Category Benchmark · Design Reference Landscape
How Trova compares to other design reference platforms
Visual galleries (Godly, SiteInspire, Refero), product screen trees (Mobbin, Page Flows), typographic archives (Fonts In Use), and associative graphs (Are.na) each solve one slice of research. Trova is built around the missing link between seeing a reference and shipping an interface: named, testable steal-notes (447 notes across 201 references and 12 multi-step flows), verified open-source font stand-ins, measured WCAG contrast pairs, and a 6-tool MCP server for AI coding agents.
| Platform | Unit of Curation | Why-It-Works Notes | Multi-Step Flows | Type & Contrast Verification | Agent MCP & Plain-Text Export |
|---|---|---|---|---|---|
| TrovaAnnotated Design Library & Agent MCP | Named steal-note (201 references, 447 concrete mechanism notes across 40 populated families in a 1,000-family taxonomy) | Mandatory: every reference carries 1–3 typed steal-notes (typography, grid/layout, color, motion, component pattern, texture, copywriting) | 12 step-ordered public product flows (Stripe, Linear, Raycast, Vercel, Cal.com, Plausible, Excalidraw, Squoosh, Stripe Press, iOS Dynamic Island, PostHog OS, SSENSE) | Observed typefaces + free Google Font stand-ins (`fontStandIns`) + live WCAG contrast pairs (`readablePalettePairs`) | Native 6-tool MCP server (`trova-mcp` stdio + `/api/mcp` HTTP) with surface-ranked briefsExport: `Trovafile.md`, per-family `DESIGN.md` sheets, dual-family synthesis briefs, `.cursorrules` / `CLAUDE.md`, Tailwind v4 `@theme`, and CSS `:root` tokens |
| MobbinMobile & Web Product Screen Archive | Authenticated mobile & web app screenshot trees | None — tags and screen categories without explanatory prose | Deep authenticated onboarding, checkout & settings trees | Visual inspection only; no extracted contrast pairs or font fallback mapping | None (Figma plugin & web search only)Export: None (image/Figma copy only) |
| Godly.websiteMotion-First Web Design Gallery | Short looping viewport video capture of marketing sites | None — visual browsing and tag pills only | Single marketing page scroll captures only | Lists font names and framework tags; no contrast or open-source stand-ins | NoneExport: None |
| SiteInspireEditorial Web Design Directory | Desktop landing page screenshot indexed by style/subject | None — taxonomy tags without mechanism notes | Single-screen index only | Subject/style tags only; no font or hex extraction | NoneExport: None |
| Refero.designWeb Page & UI Component Search | Full-page web screenshots and isolated UI section crops | None — visual search and bookmarking | Page collections by product, minimal step annotation | Color filter search; no computed WCAG readable pairs | NoneExport: None |
| Fonts In UseArchival Typographic Specimen Index | Print, identity, and web artifacts indexed by typeface family | Contributor commentary on historical & typographic context | Not applicable (static artifacts & specimens) | Gold-standard typeface identification; no web CSS tokens or color contrast pairs | NoneExport: None |
| Page FlowsRecorded User Flow Video Library | Screen-recorded walkthrough videos with step markers | Timestamped step labels without typographic/CSS analysis | High (video recordings of SaaS onboarding, upgrade, and churn flows) | None | NoneExport: None |
| Are.na / CosmosAssociative Cultural Research Graph | User-curated blocks connected across open-ended channels | Optional user block descriptions; unstructured | None | None | Public REST API (Are.na); no design-brief MCPExport: Channel JSON/Markdown export |
| Curated.designCraft-Focused Web Inspiration Catalog | Full-bleed landing page captures with category pills | None — visual bookmarking only | Single-page marketing captures only | Category tags only; no font or WCAG extraction | NoneExport: None |
| Lapa Ninja / Land-bookFull-Height SaaS Landing Page Directory | Full-height vertical desktop landing page screenshots | None | Single landing page only | Coarse color filter buckets only | NoneExport: None |