flowmance

Vellmar Design System

Vellmar website template previewVellmar website template preview detail 2Vellmar website template preview detail 3

Vellmar is a one-screen portfolio for an independent designer. The home view does not scroll: a warm stone canvas, four tiny label pairs across the top, and one row of tall media strips filling the lower two thirds of the screen. One strip is open as a large square tile with a white title and year; the others stay narrow, edge to edge with 8px gaps, and bleed off both sides of the viewport. Almost all of the visual weight is the work itself.

Three signatures make it recognisable:

  1. The strip slider. A 14-column row of media strips, 8px apart, with 6px corners. One opens to about 600×600px while the rest are about 158px wide, and opening another one slides the row in 0.6s.
  2. Stacked label pairs. The header is four pairs of 12px uppercase words, one under the other: NOA / VELLMAR, MENU / GET IN TOUCH, LOCAL TIME / 01:27, • DAY / NIGHT. There is no logo mark and no bar.
  3. Lowercase page titles. The other views (work, index, profile) open as tiles from the menu with a 60px lowercase title at −3.3px tracking.

The four screenshots are the same 900px view, which does not scroll, but the row moves on by itself between them: the open tile cycles through Circle Water (Campaign, 2025), Apex Moto (Campaign, 2026) and Noir (Digital product, 2026), and the narrow strips shift order around it. The clock also ticks, with its colon blinking off (02 41).

Colors

Surfaces

canvas#EBE8E1

Page background

surface-1#DFDBD2

Tile backgrounds behind media (shows while media loads)

surface-2#D6D2C8

Menu overlay

inverse-canvas#1D1C19

The small dot beside the active theme option

Ink

on-primary#1D1C19

Text on primary

ink#1D1C19

All header labels, titles, bio text

ink-muted#1D1C19

Same as ink: body text is full ink, there is no separate body grey

ink-subtle#6B665C

LOCAL TIME, the inactive NIGHT, secondary labels

on-media#FFFFFF

Tile titles and meta set on images

Action

primary#EBE8E1

Set to the canvas: there are no filled buttons

primary-hover#EBE8E1

Lines & effects

line#1D1C19 · 14%

1px rules in lists (index and profile views)

scrim#0A0805 · 55%

Darkening layer over media behind white captions

Typography

Switzer · display-page

The quick brown fox jumps

Page titles work, index, profile (3 uses, in the menu views). 60px · 400 · 1.0 · -3.3px

Switzer · headline

The quick brown fox jumps

Large lines in the index and profile views (7 uses). 37px · 400 · 1.0 · -1.68px

Switzer · body-xl

The quick brown fox jumps

Profile bio: Noa Vellmar is an independent digital designer based in Lisbon… (47 uses). 23px · 400 · 1.2 · -0.35px

Switzer · title

The quick brown fox jumps

Tile titles: Circle Water, Kova, Cadence. 17px · 500 · 1.0 · -0.17px

Switzer · caption

The quick brown fox jumps

Tile meta: Campaign, 2025. 13px · 400 · 1.0

Switzer · label

The quick brown fox jumps

Header labels, menu links (87 uses). 12px · 400 · 1.0

Spacing & shape

PurposeValue
BreakpointsWebflow defaults (991, 767, 479)

Spacing scale

TokenValuePreview

Layout spacing

TokenValuePreview
gap8px
gutter16px

Border radius

tile6px
pill1440px

Surfaces

How the surfaces stack, from the page background up. Hex codes and roles are in Colors above.

Level 1canvas
Level 2surface-1
Level 3surface-2

Motion

Strip open/closetransform 0.6s cubic-bezier(0.22, 1, 0.36, 1), neighbours delayed 0.05s
Label rolltop 0.6s cubic-bezier(0.22, 1, 0.36, 1) on the duplicated label
Caption inopacity, filter (blur) and transform, 0.35s
View revealopacity 0.6s and filter 0.6s after 0.2s, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) after 0.2s
Fadesopacity 0.4s; color 0.4s on labels
Clock colonopacity → 0.3, 1s sine.inOut, repeating
Cursor followx / y quickTo, 0.7s power3
Auto-advanceThe row moves on by itself about every 10s

Do’s and don’ts

  • Keep the home view to one screen: header labels on top, one strip row at the bottom.
  • Use #EBE8E1 for the canvas and #1D1C19 for all text; #6B665C only for secondary labels.
  • Set header text in Switzer 12px/400 uppercase, stacked in two-word pairs.
  • Give every media tile a 6px radius and an 8px gap to its neighbours.
  • Animate opens and rolls with cubic-bezier(0.22, 1, 0.36, 1) at 0.6s.
  • Put white captions only over the #0A08058C scrim.
  • Add buttons, boxes, borders or icons to the header.
  • Use bold text, or weight 500 outside tile titles.
  • Add shadows, gradients or blur to the UI.
  • Put #6B665C text on #DFDBD2 tiles (4.1:1) or the #D6D2C8 menu (3.8:1); keep ink-subtle on the canvas, at 12px+ uppercase meta only, and use #1D1C19 on the darker surfaces.
  • Use an accent colour; colour belongs to the media.
  • Invent night-mode colours; only the day theme is measured.

Example prompt

Any page in the Vellmar style

Prompt
Build your page in the Vellmar style. One full-screen view on #EBE8E1, no scrolling. Header: four two-line label pairs in Switzer 12px/400 uppercase, #1D1C19, no bar or border, placed at the left gutter (16px), about 320px, about 1128px and the right gutter; secondary words like "LOCAL TIME" in #6B665C. Bottom two thirds: one row of media strips in a 14-column grid with an 8px gap, 6px radius, about 600px tall, bleeding off both edges. One strip is open at about 600×600 with a white caption bottom-left: title Switzer 17px/500, meta 13px/400, over a rgba(10,8,5,0.55) scrim. Strips open with transform 0.6s cubic-bezier(0.22, 1, 0.36, 1). No buttons, icons, shadows or accent colours. Page titles are lowercase Switzer 60px/400 with −3.3px tracking.

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