flowmance

JulianVoss Design System

JulianVoss website template previewJulianVoss website template preview detail 2JulianVoss website template preview detail 3

JulianVoss is a black, type-first portfolio for a freelance design director. It opens on a full-screen, red-lit, grainy portrait with the name JULIANVOSS© across the bottom at 14.2vw. The rest of the page is white Switzer on pure black: a huge statement that lights up word by word, a quiet two-column info block, a wall of square photos and a ruled index of projects. Colour only comes from the photos.

Four signatures make it recognisable:

  1. Upright plus italic name. The hero title is JULIAN upright and VOSS italic in the same Switzer 500 at 204px, uppercase, line height 0.85, tracking −5px, ending in a ©. The small nav logo repeats it (JULIANVOSS© with italic VOSS).
  2. Difference blending. The fixed nav and the hero title use mix-blend-mode: difference, so white text turns cyan over the red photo and stays white over black.
  3. The name shrinks into the logo. On scroll, the hero title moves x 0 → −45vw, y → −4vw and scales 1 → 0.07 until it sits top-left as the 14px nav logo.
  4. Bracket labels and copyright years. Section labels are grey and in brackets, (Info), (Services), (Selected); years carry a ©, 2024©; big titles end in ©, All ©, 26©.

JulianVoss is dark-only, with one white band at the very end.

Colors

Surfaces

canvas#000000

Page background (--_color---page-color--first-color: black)

surface-1#FFFFFF · 20%

Translucent fills on black (6 rendered uses), which read as #333333

surface-grey#494949

The dark grey variable (--_color---page-color--color); declared, not seen rendered

inverse-canvas#FFFFFF

The last 900px section: a white band with the black marquee (24 black text uses)

surface-light#EBEBEB

Light greys in the variables (second colour, blockquote rule)

footer-light#F1F1F1

Light greys in the variables (second colour, blockquote rule)

Ink

on-primary#FFFFFF

Text on primary

ink#FFFFFF

Almost all text (713 uses), links and the 1px link underline

ink-muted#FFFFFF

Same as ink: body text is full white

ink-subtle#999999

Bracket labels (Info) and the not-yet-revealed words of the scroll statement (38 uses)

ink-soft#FFFFFF · 70%

The third page colour variable, for softer text over photos

inverse-ink#000000

Text on inverse-canvas

on-media#FFFFFF

Hero text over the photo, blended with difference

Action

primary#000000

Set to the canvas: the template has no filled buttons

Lines & effects

line#FFFFFF · 20%

The 1px rule under each project row (border-bottom: 1px solid #fff3)

glass#FFFFFF · 20%

The one frosted element

Typography

Switzer · display-hero

The quick brown fox jumps

JULIAN + italic VOSS + © (h1). 204px · 500 · 0.85 · -5px

Switzer · headline-statement

The quick brown fox jumps

The scroll-reveal statement I work with forward thinking brands … experiences built for what's next. 67px · 500 · 1.1 · -0.6px

Switzer · title-lg

The quick brown fox jumps

Hero tagline Ideas, design, and direction for ambitious brands. 24px · 500 · 1.1 · -0.6px

Switzer · body-lg

The quick brown fox jumps

Services list and project meta: Copenhagen, 2024©, Strategy, Product Design. 19.2px · 400 · 1.1 · -0.3px

Switzer · label

The quick brown fox jumps

Nav HOME INFO WORK CONTACT and link buttons ABOUT (110 uses). 16px · 500 · 1.1 · -0.3px

Switzer · caption

The quick brown fox jumps

Hero footer meta FREELANCE DESIGN DIRECTOR, STOCKHOLM 11:13 PM (.text-01). 14.4px · 500 · 1.1

Spacing & shape

PurposeValue
Container100% wide with 2% side padding (28.8px at 1440)
Section rhythm.section is padding: 150px 2%; the first section after the hero uses 250px on top (--_spacing---section--padding-top-bottom)
Breakpoints991, 767 and 479px

Spacing scale

TokenValuePreview
xs10px
sm20px
md30px
lg50px
xl67px
2xl120px

Layout spacing

TokenValuePreview
column-gap0px
gutter28.8px
section150px
section-hero250px

Border radius

container-phone6.4px
container9.6px
full9999px

Motion

Name to logoHero title x 0 → −45vw, y → −4vw, scale 1 → 0.07, scrubbed
Link and project rollCharacters y → −101%, power1.out, staggered, 0.33–0.87s; some y → −117% at 0.44–0.52s
Nav link rolly 100% → 0 and y −100% → 0%, 0.5s
Underline drawwidth 0% → 100%, power1.out, 0.5s
Statement revealWord colour #999999 → #FFFFFF, ScrollTrigger top center → bottom center
Image drifty 4% → −4% over the viewport, scrub 0.8–1.2; one image y → 20%, 0.9s
Fadeopacity 0 → 1, 0.45s
Marqueex 0% → −100%, linear, 50s, looping
Introexpo 2.0s and 1.2s tweens on load; a © that flies off with y 0 → −300vw, rotation 0 → 50°, scale 1 → 100, sine.in 0.9s
Small hoverspower2.out, 0.3s

Do’s and don’ts

  • Keep the page #000000 with #FFFFFF text, and use #999999 only for bracket labels and unrevealed words.
  • Set display text in Switzer 500 at 14.2vw, line height 0.85, tracking −5px, and end titles with ©.
  • Italicise one word of the name, never a sentence.
  • Use mix-blend-mode: difference on the fixed nav so it reads over photos and black alike.
  • Use square-cornered images in tight grids (10px gap) and a 1px #FFFFFF at 20% rule between list rows.
  • Use the underlined uppercase link (.button-link) for every call to action.
  • Add filled or outlined buttons, cards or rounded images.
  • Use Newsreader or Playfair Display. They are loaded but unused.
  • Hard-code the hero's cyan; it is a blend result.
  • Add shadows or coloured UI. Colour belongs to the photos.
  • Use tracking tighter than −1px below display size, or −5px on anything smaller than 100px.
  • Use the white inverse-canvas anywhere but the final marquee band.
  • Put #999999 labels on the 20% white surface-1; there it drops below 4.5:1. Keep grey text on pure black.

Example prompt

Any page in the JulianVoss style

Prompt
Build your page in the JulianVoss style. Pure black #000000 page, white #FFFFFF text, Switzer (variable) only. Titles: Switzer 500, 14.2vw, line height 0.85, tracking −5px, uppercase, one word italic, ending in "©". Body: 16px weight 400, line height 1.3, tracking −0.3px. Section labels: grey #999999 in brackets, "(Info)". Fixed top-right nav of four uppercase 16px links with mix-blend-mode: difference. Calls to action are uppercase 16px text links with a 1px white underline that redraws on hover (width 0 → 100%, power1.out 0.5s) and a character roll (y → −101%, staggered). Lists: 6-column rows with 20px padding and a 1px rgba(255,255,255,0.2) rule; project name at 64px weight 400, tracking −1px. Images square-cornered, 1:1, in a 5-column grid with a 10px gap. Saturated, grainy photography. No buttons, no shadows, no radii.

More design systems like this

Portfolio design systems, the same colors first.

Browse all 398

Bring any of them to your AI tool

All Access unlocks all 398 design systems, ready for Claude, ChatGPT, Gemini, Cursor, v0 and Lovable, plus 400+ templates on all 5 platforms.

Get All AccessUpgrade to All Access