Skip to the collection

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

Kinetic Typography / Viewport Stretcher vs. Dark Premium

Primary Architecture (80%)4 curated references

Kinetic Typography / Viewport Stretcher

Variable weight and width fonts that physically stretch and compress to fit 100% of the screen width on resize.

Observed Typefaces (8)

Free Loadable Stand-Ins

  • Monument Extended (licensed) → Archivo at wdth 125
  • Neue Haas Grotesk (licensed) → Inter
  • SF Mono (macOS only) → JetBrains Mono
  • SF Pro Display (macOS only) → Inter Tight

Captured Palette Chromatography

  • #000000
    dark neutral
  • #ffffff
    light neutral
  • #161618
    dark neutral
  • #262626
    dark neutral
  • #3a3a3a
    dark neutral

Verified WCAG Readable Pairs

  • Steal this.#000000 on #ffffff · 21:1
  • Steal this.#000000 on #30d158 · 10.4:1
Counterpoint Family (20%)8 curated references

Dark Premium

Near-black fields, hairline gradients, one metallic or electric accent, understated serif. Whispers expensive; the restraint is the flex.

Observed Typefaces (10)

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 Kinetic Typography / Viewport Stretcher and Dark Premium solve the same 7 structural design dimensions differently. Every observation is cited to a specific captured specimen in the vault.

typography2 vs. 3 notes

Kinetic Typography / Viewport Stretcher

  • Variable font axes (`wdth` 50..150, `wght` 200..900) are driven directly by scroll velocity and pointer X/Y coordinates so the headline stretches edge-to-edge (`100vw`) as a kinetic accordion.

    133-dia-studio-kinetic-variable-type-identity-system · DIA Studio — Kinetic Variable Type Identity System

  • Display masthead uses `font-size: clamp(4.5rem, 16.5vw, 22rem)` with `line-height: 0.84` and `-0.04em` tracking so the wordmark physically locks to both left and right viewport edges.

    134-studio-freight-darkroom-viewport-locked-oversized-type · Studio Freight / Darkroom — Viewport-Locked Oversized Type

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

grid/layout1 vs. 5 notes

Kinetic Typography / Viewport Stretcher

  • Tiny 12px uppercase monospace index coordinates (`[01 // ARCHITECTURE]`) sit pinned at the exact mathematical intersections of the 12-column grid beneath the giant display type.

    134-studio-freight-darkroom-viewport-locked-oversized-type · Studio Freight / Darkroom — Viewport-Locked Oversized Type

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

color0 vs. 4 notes

Kinetic Typography / Viewport Stretcher

No recorded color notes in this slice.

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

motion/interaction3 vs. 1 notes

Kinetic Typography / Viewport Stretcher

  • Phase-offset sine wave staggering (`delay: calc(var(--line-index) * 45ms)`) turns static multi-line stacked display type into a rhythmic mechanical cylinder.

    133-dia-studio-kinetic-variable-type-identity-system · DIA Studio — Kinetic Variable Type Identity System

  • Project list rows apply a transient `transform: skewX(calc(var(--scroll-velocity) * -0.18deg))` that snaps back to 0deg with a 280ms cubic-bezier ease the instant scrolling stops.

    135-locomotive-montreal-scroll-driven-velocity-skew · Locomotive Montreal — Scroll-Driven Velocity Skew

Dark Premium

  • Feature cards tilt ≤2° on hover with a 400ms ease — motion you sense rather than watch.

    16-linear · Linear

component pattern2 vs. 5 notes

Kinetic Typography / Viewport Stretcher

  • Hovering a full-width project row expands an inline video reel inside the word gap between the client name and the year (`LOCOMOTIVE [REEL] 2026`), pushing the text apart horizontally.

    135-locomotive-montreal-scroll-driven-velocity-skew · Locomotive Montreal — Scroll-Driven Velocity Skew

  • Live waveform bars and countdown timers stay continuously mounted during container expansion, scaling their layout bounds without unmounting or resetting animation frames.

    136-apple-dynamic-island-fluid-svg-path-interpolation · Apple Dynamic Island — Fluid SVG Path Interpolation

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

texture/material0 vs. 3 notes

Kinetic Typography / Viewport Stretcher

No recorded texture/material notes in this slice.

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

copywriting0 vs. 1 notes

Kinetic Typography / Viewport Stretcher

No recorded copywriting notes in this slice.

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 Kinetic Typography / Viewport Stretcher (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.

Live Token Stage · 80% Kinetic Typography / Viewport Stretcher × 20% Dark Premium21:1 WCAG Contrast · Paper Ground

Display: Archivo · Body: IBM Plex Mono

Kinetic Typography / Viewport Stretcher Architecture with Dark Premium Counterpoint

Phase-offset sine wave staggering (`delay: calc(var(--line-index) * 45ms)`) turns static multi-line stacked display type into a rhythmic mechanical cylinder.

Primary Action (#161618)Counterpoint (#08090a)

20% Counterpoint Telemetry (JetBrains Mono)

--surface-ground
#ffffff
--text-primary
#000000
--accent-primary
#161618
--accent-counter
#08090a
# DESIGN.md — Kinetic Typography / Viewport Stretcher × Dark Premium Synthesis

> **80% Primary Architecture:** Kinetic Typography / Viewport Stretcher (`kinetic-viewport-stretcher`, 4 refs)
> **20% Counterpoint / Accent:** Dark Premium (`dark-premium`, 8 refs)

## 1. Visual Direction & Thesis
- **Primary Foundation (Kinetic Typography / Viewport Stretcher):** Variable weight and width fonts that physically stretch and compress to fit 100% of the screen width on resize.
- **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 (Kinetic Typography / Viewport Stretcher):** Archivo (1/4), IBM Plex Mono (1/4), Monument Extended (1/4), Neue Haas Grotesk (1/4)
- **Counterpoint / Accent Face (Dark Premium):** Inter (2/8), Berkeley Mono (1/8), Domaine (1/8)
- **Free Loadable Stand-Ins:**
  - Monument Extended (licensed) → Archivo at wdth 125
  - Neue Haas Grotesk (licensed) → Inter
  - SF Mono (macOS only) → JetBrains Mono
  - SF Pro Display (macOS only) → Inter Tight
  - Whyte Inktrap (licensed) → Space Grotesk
  - Berkeley Mono (licensed) → JetBrains Mono
  - Söhne (licensed) → Inter

## 3. Chromatic Polarity & Verified Contrast
- **Primary Surface Pair (Kinetic Typography / Viewport Stretcher):** `#000000` on `#ffffff` (21: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 · motion/interaction]** Phase-offset sine wave staggering (`delay: calc(var(--line-index) * 45ms)`) turns static multi-line stacked display type into a rhythmic mechanical cylinder. _(133-dia-studio-kinetic-variable-type-identity-system DIA Studio — Kinetic Variable Type Identity System)_
- **[Primary · typography]** Variable font axes (`wdth` 50..150, `wght` 200..900) are driven directly by scroll velocity and pointer X/Y coordinates so the headline stretches edge-to-edge (`100vw`) as a kinetic accordion. _(133-dia-studio-kinetic-variable-type-identity-system DIA Studio — Kinetic Variable Type Identity System)_
- **[Primary · component pattern]** Hovering a full-width project row expands an inline video reel inside the word gap between the client name and the year (`LOCOMOTIVE [REEL] 2026`), pushing the text apart horizontally. _(135-locomotive-montreal-scroll-driven-velocity-skew Locomotive Montreal — Scroll-Driven Velocity Skew)_
- **[Primary · grid/layout]** Tiny 12px uppercase monospace index coordinates (`[01 // ARCHITECTURE]`) sit pinned at the exact mathematical intersections of the 12-column grid beneath the giant display type. _(134-studio-freight-darkroom-viewport-locked-oversized-type Studio Freight / Darkroom — Viewport-Locked Oversized Type)_
- **[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 (Kinetic Typography / Viewport Stretcher):** 133-dia-studio-kinetic-variable-type-identity-system DIA Studio — Kinetic Variable Type Identity System ★ canonical
- **Primary (Kinetic Typography / Viewport Stretcher):** 134-studio-freight-darkroom-viewport-locked-oversized-type Studio Freight / Darkroom — Viewport-Locked Oversized Type
- **Primary (Kinetic Typography / Viewport Stretcher):** 135-locomotive-montreal-scroll-driven-velocity-skew Locomotive Montreal — Scroll-Driven Velocity Skew
- **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 spines

Automate 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 4-reference Kinetic Typography / Viewport Stretcher Trovafileinto your repository and run a real headless Chromium DOM & WCAG contrast audit against your local dev server:

npx trova init --family kinetic-viewport-stretcher --token $TROVA_TOKEN
npx trova audit http://localhost:3000 --family kinetic-viewport-stretcher

04 · Pre-Flight Verification · UI Code & Anti-Slop Auditor

Audit JSX / Tailwind / CSS against Kinetic Typography / Viewport Stretcher

Taste Alignment Score0/100 · AI Slop Detected

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 Kinetic Typography / Viewport Stretcher. Copy the generated refactor prompt at the bottom to hand directly to Claude Code or Cursor.

Diagnostic Findings (6)

  • ✗ Violation · Structural GeometryRef #135 ↗

    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 Kinetic Typography / Viewport Stretcher.

  • ✗ Violation · Surface ElevationRef #135 ↗

    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 #133 ↗

    Detected generic AI-slop indigo/purple/pink gradient classes unrelated to the family's captured chromatography.

    → Strip synthetic gradients and bind surfaces to Kinetic Typography / Viewport Stretcher verified tokens (`#000000` on `#ffffff` (21:1)).

  • ✗ Violation · Typographic HierarchyRef #133 ↗

    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 #133 ↗

    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 #135 ↗

    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 (Kinetic Typography / Viewport Stretcher × Dark Premium)

Refactor the following UI component to strictly adhere to the Trova Kinetic Typography / Viewport Stretcher × 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 Kinetic Typography / Viewport Stretcher. (Trova ref: 135-locomotive-montreal-scroll-driven-velocity-skew)
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: 135-locomotive-montreal-scroll-driven-velocity-skew)
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 Kinetic Typography / Viewport Stretcher verified tokens (`#000000` on `#ffffff` (21:1)). (Trova ref: 133-dia-studio-kinetic-variable-type-identity-system)
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: 133-dia-studio-kinetic-variable-type-identity-system)
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: 133-dia-studio-kinetic-variable-type-identity-system)
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: 135-locomotive-montreal-scroll-driven-velocity-skew)

### Target CSS Custom Properties
/* Synthesized from Trova family: Kinetic Typography / Viewport Stretcher (kinetic-viewport-stretcher) */
/* Evidence base: 4 curated reference(s) · Primary contrast 21:1 */
:root {
  /* Surface & Polarity (Daylight-paper dominant) */
  --surface-ground: #ffffff;
  --surface-elevated: #262626;
  --text-primary: #000000;
  --accent-primary: #161618;
  --border-hairline: color-mix(in srgb, #000000 16%, transparent);

  /* Typography (Loadable open-source stack mapped from observed specimens) */
  --font-display: "Archivo", system-ui, sans-serif;
  --font-body: "IBM Plex Mono", 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.

PlatformUnit of CurationWhy-It-Works NotesMulti-Step FlowsType & Contrast VerificationAgent MCP & Plain-Text Export
TrovaAnnotated Design Library & Agent MCPNamed 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 ArchiveAuthenticated mobile & web app screenshot treesNone — tags and screen categories without explanatory proseDeep authenticated onboarding, checkout & settings treesVisual inspection only; no extracted contrast pairs or font fallback mappingNone (Figma plugin & web search only)Export: None (image/Figma copy only)
Godly.websiteMotion-First Web Design GalleryShort looping viewport video capture of marketing sitesNone — visual browsing and tag pills onlySingle marketing page scroll captures onlyLists font names and framework tags; no contrast or open-source stand-insNoneExport: None
SiteInspireEditorial Web Design DirectoryDesktop landing page screenshot indexed by style/subjectNone — taxonomy tags without mechanism notesSingle-screen index onlySubject/style tags only; no font or hex extractionNoneExport: None
Refero.designWeb Page & UI Component SearchFull-page web screenshots and isolated UI section cropsNone — visual search and bookmarkingPage collections by product, minimal step annotationColor filter search; no computed WCAG readable pairsNoneExport: None
Fonts In UseArchival Typographic Specimen IndexPrint, identity, and web artifacts indexed by typeface familyContributor commentary on historical & typographic contextNot applicable (static artifacts & specimens)Gold-standard typeface identification; no web CSS tokens or color contrast pairsNoneExport: None
Page FlowsRecorded User Flow Video LibraryScreen-recorded walkthrough videos with step markersTimestamped step labels without typographic/CSS analysisHigh (video recordings of SaaS onboarding, upgrade, and churn flows)NoneNoneExport: None
Are.na / CosmosAssociative Cultural Research GraphUser-curated blocks connected across open-ended channelsOptional user block descriptions; unstructuredNoneNonePublic REST API (Are.na); no design-brief MCPExport: Channel JSON/Markdown export
Curated.designCraft-Focused Web Inspiration CatalogFull-bleed landing page captures with category pillsNone — visual bookmarking onlySingle-page marketing captures onlyCategory tags only; no font or WCAG extractionNoneExport: None
Lapa Ninja / Land-bookFull-Height SaaS Landing Page DirectoryFull-height vertical desktop landing page screenshotsNoneSingle landing page onlyCoarse color filter buckets onlyNoneExport: None