Skip to main content
Back to Examples

The Avant-Garde Journal

Remix this template to create a similar design — same sections, layout, animations, colors, and typography.

Visit site

A dashboard for creator analytics. Cream editorial canvas, teal and coral accents, Fraunces serif over Spline Sans Mono.

16
core colors
3
typefaces
27
tokens
agent.kombai.com/kombai-inspiration-library/templates/avantgarde/index.html
01

Palette

paper
#FBF6EE
ink
#2E241B
ink-85
RGBA(46,36,27,0.85)
ink-90
RGBA(46,36,27,0.90)
ink-70
RGBA(46,36,27,0.70)
ink-60
RGBA(46,36,27,0.60)
ink-55
RGBA(46,36,27,0.55)
ink-45
RGBA(46,36,27,0.45)
hairline
RGBA(46,36,27,0.22)
hairline-soft
RGBA(46,36,27,0.18)
coral
#FF6F61
teal
#1FB6A6
ochre
#E3B23C
paper-90
RGBA(251,246,238,0.90)
paper-30
RGBA(251,246,238,0.30)
video-veil
LINEAR-GRADIENT(180DEG,RGBA(46,36,27,0.55),RGBA(46,36,27,0.1) 40%,RGBA(46,36,27,0.65))
02

Typography

displayThe quick brown fox jumps'Fraunces', serif
clamp(7rem,17vw,15.5rem)
headingThe quick brown fox jumps'Fraunces', serif
36px
bodyThe quick brown fox jumps'Source Serif 4', serif
15px
ledeThe quick brown fox jumps'Source Serif 4', serif
24px
monoThe quick brown fox jumps'Spline Sans Mono', monospace
11px
03

Spacing & Shape

TokenValuePreview
xs4px
sm8px
md16px
lg32px
xl48px
04

Border Radius

TokenValuePreview
none0px
05

design.md

design.mdreadable by AI agents
tokens (raw)
name: avantgarde-design
version: alpha
description: >
  An editorial broadsheet rendered as a creator-analytics dashboard. The surface
  is warm newsprint cream (`#FBF6EE`) inked in near-black espresso (`#2E241B`),
  set in Fraunces display serif with a Spline Sans Mono data voice and Source
  Serif 4 body copy. Three pigment "voltages" punctuate the page — coral
  (`#FF6F61`), teal (`#1FB6A6`), and ochre (`#E3B23C`) — used as accents on
  numbers, rules, and a highlighted insight block. Signature moves: heavy 2px
  espresso rules dividing sections, a `clamp()` mega-numeral hero, a 130-bar
  GSAP "spectrogram", a column-ruled two-column article with a coral drop-cap,
  and a fanned, hard-shadowed Polaroid gallery. Zero border-radius throughout —
  everything is sharp-cornered print.
colors:
  # Surface
  paper: '#FBF6EE'          # page background (cream newsprint), card fills, video overlay text
  # Text / Ink
  ink: '#2E241B'            # primary text, all borders/rules, headings
  ink-85: 'rgba(46,36,27,0.85)'   # hero lede paragraph
  ink-90: 'rgba(46,36,27,0.90)'   # article body copy
  ink-70: 'rgba(46,36,27,0.70)'   # footer, secondary mono
  ink-60: 'rgba(46,36,27,0.60)'   # stat captions
  ink-55: 'rgba(46,36,27,0.55)'   # axis labels, footnote
  ink-45: 'rgba(46,36,27,0.45)'   # platform row index numbers
  hairline: 'rgba(46,36,27,0.22)' # thin rules (.rule, column-rule)
  hairline-soft: 'rgba(46,36,27,0.18)' # column-rule, faint dividers
  # Brand voltages
  coral: '#FF6F61'          # primary accent — drop-cap, numerals, kickers, velocity
  teal: '#1FB6A6'           # positive/growth accent — deltas, eng rate, sentiment
  ochre: '#E3B23C'          # tertiary accent — net follows numeral, Key Insight block fill
  # Inverse (on dark video)
  paper-90: 'rgba(251,246,238,0.90)' # mono text over video
  paper-30: 'rgba(251,246,238,0.30)' # hairline over video
  # Gradient
  video-veil: 'linear-gradient(180deg,rgba(46,36,27,0.55),rgba(46,36,27,0.1) 40%,rgba(46,36,27,0.65))' # darkening overlay on hero video
typography:
  display:
    fontFamily: "'Fraunces', serif"
    fontSize: clamp(7rem,17vw,15.5rem)   # hero mega-numeral; also used at 3xl–5xl for headings
    fontWeight: 600
    lineHeight: 0.8
    letterSpacing: -0.01em               # tracking-tight on hero
  heading:
    fontFamily: "'Fraunces', serif"
    fontSize: 36px                        # section h3 (text-3xl/4xl/5xl)
    fontWeight: 600
    lineHeight: 0.95
  body:
    fontFamily: "'Source Serif 4', serif"
    fontSize: 15px
    fontWeight: 400
    lineHeight: 1.625                     # leading-relaxed
  lede:
    fontFamily: "'Source Serif 4', serif"
    fontSize: 24px                        # text-xl/2xl hero lede
    fontWeight: 400
    lineHeight: 1.375                     # leading-snug
  mono:
    fontFamily: "'Spline Sans Mono', monospace"
    fontSize: 11px
    fontWeight: 400
    letterSpacing: 0.3em                  # tracking ranges 0.18em–0.35em
    textTransform: uppercase
rounded:                                  # all sharp — print aesthetic
  none: 0px
spacing:                                  # base unit 4px (Tailwind scale)
  xs: 4px
  sm: 8px
  md: 16px
  lg: 32px
  xl: 48px
components:
  page-header:
    backgroundColor: '{colors.paper}'
    textColor: '{colors.ink}'
    border: '2px solid {colors.ink}'      # bottom rule only (border-b-2)
    padding: '28px 32px 16px'             # pt-7 px-8 pb-4
  hero-numeral:
    textColor: '{colors.ink}'
    accent: '{colors.coral}'              # the trailing "M" / unit
    typography: '{typography.display}'
  kicker:
    textColor: '{colors.coral}'           # also teal/ink variants
    typography: '{typography.mono}'
    letterSpacing: '0.3em'
  stat-cell:
    textColor: '{colors.ink}'
    accent: '{colors.teal}'               # or {colors.ochre}
    typography: '{typography.heading}'
    border: '1px solid rgba(46,36,27,0.20)' # left dividers between cells
    padding: '0 32px'
  video-panel:
    border: '2px solid {colors.ink}'
    rounded: '{rounded.none}'
    overlay: '{colors.video-veil}'
    textColor: '{colors.paper-90}'
  insight-block:
    backgroundColor: '{colors.ochre}'
    textColor: '{colors.ink}'
    border: '2px solid {colors.ink}'
    rounded: '{rounded.none}'
    padding: '20px'                       # p-5
    typography: '{typography.heading}'
  gallery-card:
    backgroundColor: '{colors.paper}'
    border: '1px solid {colors.ink}'
    rounded: '{rounded.none}'
    boxShadow: '14px 14px 0 0 {colors.ink}' # .hard-shadow
    padding: '12px 12px 48px'            # p-3 pb-12
    width: '260px'
    rotation: '±2–3deg, fanned with -26px overlap'
  spectrogram-bar:
    backgroundColor: '{colors.coral}'    # alternates with {colors.teal}
    rounded: '{rounded.none}'
  pill-tag:
    textColor: '{colors.ink}'
    border: '1px solid {colors.ink}'
    rounded: '{rounded.none}'
    padding: '4px 12px'                   # px-3 py-1 "Q2 · 2026"
    typography: '{typography.mono}'
  divider-rule:
    border: '1px solid {colors.hairline}'  # .rule top border
motion:
  spectrogram-sweep: 'GSAP gsap.from .spec-bar — scaleY 0 from bottom, duration 1, ease power3.out, stagger 0.006 each from start, delay 0.2 (laser-sweep build-in)'
  gallery-cascade: 'GSAP gsap.from .gal-item — y 70, opacity 0, scale 0.9, duration 0.7, ease back.out(1.6), stagger 0.13, ScrollTrigger start "top 85%"'
  video-loop: 'hero video autoplay muted loop playsinline'
icons:
  library: Tabler (tabler-icons-webfont via jsDelivr)
  style: outline
  sizes: { sm: 16px, base: 16px }
  color: '{colors.teal}'                  # ti-arrow-up-right on growth deltas; sometimes coral/ink

The Avant-Garde Journal

avantgarde-design · alpha

Design spec — version alpha. Source: static HTML (index.html); tokens read from inline styles + class rules. Fictional/sample product; described factually.

Overview

The Avant-Garde Journal is a creator-analytics report dressed as a printed broadsheet — "Printed on cream · Set in Fraunces," as the footer declares. The entire page sits on warm newsprint cream #FBF6EE and is inked in espresso near-black #2E241B, which doubles as the color of every border and rule on the page. The display voice is Fraunces, an optically-sized serif pushed to its extremes: a clamp(7rem,17vw,15.5rem) hero numeral ("8.4M") with line-height: 0.8 anchors the masthead, while section headlines run at 3xl–5xl. Body copy is Source Serif 4 set in a two-column, column-ruled article with a 5.4rem coral drop-cap, and all data/metadata speaks in Spline Sans Mono, uppercase, widely tracked (0.18em–0.35em). Three pigment voltages punctuate the ink: coral #FF6F61 (kickers, units, drop-cap, velocity), teal #1FB6A6 (every growth delta and positive signal), and ochre #E3B23C (the net-follows numeral and the solid-filled Key Insight callout). Signature moves: heavy 2px espresso rules bracketing every section, a 130-bar GSAP spectrogram that sweeps up on load, a bordered autoplaying video panel with a darkening veil and a faux REC overlay, and a fanned row of hard-shadowed Polaroid cards rotated ±2–3°. The geometry is uncompromisingly sharp — there is no border-radius anywhere.

Colors

Surface. A single page surface: paper #FBF6EE, a cream newsprint tone set once on the root container and re-asserted on full-bleed sections. It is also the fill of gallery cards and the color of mono text laid over the dark video.

Ink. Everything dark is ink #2E241B, an espresso near-black. It is the primary text color, every heading, and — crucially — the color of every border, rule, and divider on the page (2px section frames, 1px cell dividers). Text steps down through a ladder of opacities: ink-90 for article body, ink-85 for the hero lede, ink-70 footer, ink-60 stat captions, ink-55 axis/footnote, ink-45 for platform-row index numbers. Hairlines are hairline rgba(46,36,27,0.22) and hairline-soft rgba(46,36,27,0.18) (the article's column-rule).

Brand voltages. Three accents, each with a clear job. coral #FF6F61 carries identity — kickers ("Vol. XII", "Fig. 1"), the hero "M" unit, the trailing period after "Top Performing Content.", the drop-cap, and the velocity readout. teal #1FB6A6 is the growth/positive signal — every up-right delta, the 9.2% engagement-rate numeral, "POSITIVE 78%", and all gallery save-counts. ochre #E3B23C is tertiary — the "+184k" net-follows numeral and the solid fill of the Key Insight block.

Inverse & gradient. Over the hero video, text uses paper-90 rgba(251,246,238,0.90) with paper-30 hairlines, and a vertical video-veil gradient (rgba(46,36,27,0.55)0.1 at 40% → 0.65) darkens top and bottom for legibility.

Typography

Three families, all loaded from Google Fonts: Fraunces (variable, opsz 9–144, wght 300–900, with italics) is the display face; Source Serif 4 (variable, opsz 8–60) is the body/serif face; Spline Sans Mono (400–700) is the data/mono face. All are open-source, so no substitution is needed. Fraunces is the personality — high-contrast, optically-aware, pushed to enormous sizes with tight line-heights and slightly negative tracking. Mono is always uppercase and widely letter-spaced.

TokenSizeWeightLine-heightTrackingUsage
displayclamp(7rem,17vw,15.5rem)6000.8-0.01emHero mega-numeral "8.4M"
heading30–48px (text-3xl/4xl/5xl)6000.95–1.0normalSection headlines
lede20–24px (text-xl/2xl)4001.375normalHero standfirst paragraph
body15px4001.625normalArticle columns (Source Serif 4)
mono10–13px400–500normal0.18em–0.35emAll metadata, labels, data, captions (uppercase)

Special: a .drop-cap::first-letter rule sets a 5.4rem Fraunces 600 coral initial, floated left, line-height: 0.78.

Layout

Base unit is 4px (Tailwind's scale); horizontal rhythm is dominated by px-8 (32px) gutters and an 1440px max-width container repeated across every section. The page is a stack of full-width sections separated by 2px espresso rules (border-y-2, border-t-2). Composition top-to-bottom: a masthead header (mono kicker + Fraunces wordmark, bottom-ruled); an asymmetric hero (a 3/5 column of mega-numeral + lede + three stat cells, beside a 2/5 bordered video panel); a full-bleed spectrogram band; a 7/3 article-plus-sidebar split where the article is itself a two-column, column-ruled text block and the aside is a left-bordered mono "Platform Footnotes" list; a top-performing-content section with a centered/ fanned gallery; and a mono footer. Whitespace is generous and editorial — large type allowed to breathe, sections clearly demarcated by rules rather than cards.

Elevation & Depth

The system is deliberately flat — no soft shadows, no blur. Depth comes from two print devices: (1) hard offset shadows.hard-shadow is box-shadow: 14px 14px 0 0 #2E241B, a solid espresso block-shadow on gallery cards that reads as physical paper stacked on a surface; and (2) z-index layering + rotation in the fanned gallery (z-40 → z-10 with -26px overlap). The hero video gains depth from its darkening video-veil gradient. Borders (1–2px espresso) do all the structural separation work that shadows usually do.

Shapes

Radically sharp. Border-radius is 0 everywhere — no rounded-* classes appear, no pills, no soft corners. Every card, tag, video frame, insight block, and spectrogram bar is a hard rectangle. This is the core aesthetic statement: print, ink, and right angles. The only curves on the page come from the type itself (Fraunces serifs) and photographic content.

Components

  • Page header — cream, espresso text; 2px bottom rule (border-b-2); mono coral kicker over a Fraunces wordmark; right-side mono nav with a bordered "Q2 · 2026" tag. Padding pt-7 px-8 pb-4.
  • Hero numeral — Fraunces 600, clamp-sized, line-height 0.8; the unit letter ("M") tinted coral.
  • Stat cell — Fraunces 4xl numeral (ink / teal / ochre) over a mono uppercase caption (ink-60); cells separated by 1px left borders.
  • Video panel — autoplay/muted/loop video in a 2px espresso frame, min-h 360px, with video-veil overlay and mono paper-90 REC/sentiment readouts.
  • Insight block — solid ochre fill, 2px espresso border, mono kicker over a Fraunces medium statement; p-5, break-inside-avoid.
  • Gallery card — cream, 1px espresso border, hard-shadow (14px offset), p-3 pb-12, 260px wide, rotated ±2–3° and overlapped -26px; mono caption with rank ("#01 · Reel") and teal save-count + Tabler arrow.
  • Spectrogram barflex-1 bars, height-driven, alternating coral/teal, opacity 0.82–1 by height; 130 bars in a border-b-2 band.
  • Tag / pill — 1px espresso border, no radius, px-3 py-1, mono uppercase (e.g. "Q2 · 2026").
  • Divider rule.rule = 1px hairline top border; used between platform rows and footnotes.

Motion

Two GSAP build-ins (GSAP 3 + ScrollTrigger via jsDelivr): (a) the spectrogram sweep.spec-bar animates scaleY 0→1 from the bottom, duration 1s, ease power3.out, stagger 0.006 each from start, 0.2s delay — a laser-sweep that draws the chart left-to-right on load; (b) the gallery cascade.gal-item enters with y:70, opacity:0, scale:0.9, duration 0.7, ease back.out(1.6), stagger 0.13, triggered when the gallery hits 85% of viewport. The hero video loops continuously (autoplay/muted/playsinline). No CSS transitions or hover states are authored.

Iconography

Tabler Icons via the tabler-icons-webfont CSS (jsDelivr), used sparingly and only as small UI glyphs. The dominant icon is ti-arrow-up-right (16px), appearing on every growth delta and gallery save-count, tinted teal #1FB6A6 to read as "up and to the right." Outline style; no decorative or oversized icon usage — icons are purely functional data ornaments.

Do's and Don'ts

  • Do keep every corner sharp — radius is 0, always. Use 1–2px espresso borders and rules for all structure.
  • Do reserve teal for growth/positive signals, coral for identity/units, and ochre for the single solid-fill callout.
  • Do keep all metadata in uppercase Spline Sans Mono with wide tracking.
  • Do let Fraunces go huge with tight line-heights; the mega-numeral is the hero of the page.
  • Don't introduce soft drop-shadows or blur — depth is hard offset shadows and rotation only.
  • Don't mix the voltages into gradients or use more than the three accents.
  • Don't set body or data type in a sans — body is Source Serif 4, data is the mono, headings are Fraunces.

Known Gaps

  • The spectrogram bar heights are procedurally generated in JS (sine + random noise, with forced peaks at indices 96 and 118); individual values are non-deterministic, so only the color/opacity rules and bar count (130) are specified.
  • Heading sizes vary by breakpoint (text-3xl through text-5xl); the typography table records the representative range rather than every responsive step.
  • Stat-cell left-border opacity appears as both 0.20 and 0.25 in the markup; the spec records the dominant 0.20 value.