flowmance

Portfolyo Design System

Portfolyo website template previewPortfolyo website template preview detail 2Portfolyo website template preview detail 3

Portfolyo is a one-person portfolio (demo name John Doe) that reads like a printed CV poster. Everything is black on white, almost every heading is set in uppercase Inter Tight 500, and the structure is drawn with thick 2px black rules rather than boxes or shadows. Colour comes only from the portrait and the bright, glossy 3D artwork in the work carousel.

Four signatures make it recognisable:

  1. The ruled nav. A 130px header split into two cells by 2px black lines: JOHN DOE centred in the left cell, and ABOUT ME · PORTFOLIO · NEWS · HIRE ME on the right, with a 2px rule under both.
  2. Uppercase everything. body sets text-transform: uppercase. Only paragraphs and list items (Inter, sentence case) escape it.
  3. Scroll-filled intro. The 34px about text starts at 10% black and fills to full black line by line as you scroll (A GRAPHIC DESIGNER WITH 7 YEARS OF EXPERIENCE…).
  4. Ruled work carousel. Square-cornered project images in a horizontal slider, separated by 2px vertical black lines, each with an uppercase title and an outlined pill tag below.

Portfolyo is a light-only design.

Colors

Surfaces

canvas#FFFFFF

Page, nav, buttons at rest

surface-1#F1F1F7

Webflow variable --ghost-white; not measured on the home page

inverse-canvas#000000

Hovered buttons and the active timeline segment

Ink

on-primary#000000

Text on primary

ink#000000

All headings, labels, links and rules

ink-muted#000000

Body text

ink-faint#C3C8CC

Small top text in the testimonial block only

ink-reveal#000000 · 10%

The resting state of scroll-filled text, before it fills to ink

inverse-ink#FFFFFF

Text on inverse-canvas

Action

primary#FFFFFF

The outlined pill button at rest

primary-hover#000000

The pill fills black with white text on hover

Lines & effects

line#DDDDDD

The vertical rail of the experience timeline

line-strong#000000

2px nav rules, button and tag outlines, title underlines, carousel dividers, the footer top rule

Typography

Inter Tight · display-hero

The quick brown fox jumps

HEY, I'M / JOHN DOE. 80px · 500 · 1.2 · 3px

Inter Tight · headline-lg

The quick brown fox jumps

Scroll-filled about text. 34px · 500 · 1.3

Inter · title-price

The quick brown fox jumps

Pricing figures. 33px · 500 · 1.2

Inter · body-lg

The quick brown fox jumps

Paragraphs (p), sentence case. 18px · 500 · 1.2

Inter Tight · label-lg

The quick brown fox jumps

Pill button labels (in a 31px roll mask). 21px · 600 · 1.52 · 1px

Inter · caption

The quick brown fox jumps

Timeline dates (ADOBE AT 2017-2020). 13px · 600 · 1.2 · 1px

Spacing & shape

PurposeValue
Containermax 1200px for text blocks; most bands run full width with 5% side padding (72px at 1440px)
Section rhythm.section is 100px top and bottom; the footer is padding 50px 5%
Breakpoints991px, 767px and 479px (Webflow defaults), plus a 1440px+ step

Spacing scale

TokenValuePreview
xs7px
sm16px
md25px
lg30px
xl50px
2xl60px
3xl100px

Layout spacing

TokenValuePreview
hero50px
gutter72px
section100px
nav-height130px

Border radius

sm15px
tag30px
pill40px
full9999px

Surfaces

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

Level 1canvas
Level 2surface-1

Motion

Scroll-filled textLines rest at opacity 0.1 and fill to 1 while scrolling through the viewport
Fade-upy 50px → 0 and opacity 0 → 1, 600ms outExpo
Pop inscale 0 → 1, 500–600ms outExpo
Underline growSize, 300–500ms ease; 800ms outExpo for the longest line
Text rollLabel moves y 0% in a 20–31px mask, 300ms ease
Arrow turnrotate, 400ms ease
Button fillCSS transition: all .2s (white → black)
Linksall .3s; background-color .1s, color .1s on small controls

Do’s and don’ts

  • Set headings, nav, buttons and tags in uppercase Inter Tight 500–600; keep paragraphs and lists in sentence-case Inter.
  • Draw structure with 2px #000000 rules: the nav grid, carousel dividers, title underlines, the footer top.
  • Use the outlined pill (2px black, 30px radius) for actions and fill it #000000 with #FFFFFF text on hover.
  • Keep images square-cornered; the only round image is the hero portrait.
  • Let scroll-filled text start at 10% black (ink-reveal) and fill to ink.
  • Use the 1–3px tracking only where measured: 3px on the hero name, 2px on nav, 1px on section and project titles and buttons.
  • Add an accent colour, gradients or shadows to the UI.
  • Use ink-faint #C3C8CC for anything but the small testimonial top label; it is too pale for reading text.
  • Leave text at ink-reveal (10%) once it is in view.
  • Set paragraphs in uppercase, or headings in sentence case.
  • Use borders thinner than 2px on components; 1px is only for footer dividers.
  • Round the work or blog images.

Example prompt

Any page in the Portfolyo style

Prompt
Build your page in the Portfolyo style. White #FFFFFF page, black #000000 text, no accent colour, no shadows. Headings, nav, buttons and tags in uppercase Inter Tight: hero 80px weight 500, line height 1.2, 3px tracking; section titles 26px weight 500 with 1px tracking and a 2px black underline. Paragraphs and lists in sentence-case Inter 16–18px weight 500, full black. Header: 130px tall, split into two cells by 2px black rules, logo left, uppercase links right (14px 600, 2px tracking). Buttons are outlined pills: white, 2px black border, 30px radius, padding 14px 30px 12px, fill black with white text on hover over 0.2s. Images are square-cornered, bright glossy 3D art; a single circular portrait in the hero. Separate carousel cards with 2px vertical black lines. Section padding 100px, 5% side padding. Fade up from 50px over 600ms easeOutExpo; scroll-fill the intro text from 10% to 100% black.

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