PORTFOLIŌ Design System
PORTFOLIŌ is a flat, all-caps personal portfolio on a single plum colour, #D6B9FC, used for the whole page. Satoshi runs through everything in uppercase, at very large light sizes for the display words and small tracked sizes for the UI. Project work is laid out as half-and-half rows, one full-bleed image beside one block of text, and a near-black band breaks the plum for the testimonial. It feels calm and graphic, like a printed lookbook on coloured paper.
Signatures:
- Solid word over outlined word. Display titles pair a filled word with a hollow, stroked word in the same size: GRAPHIC over VISIONARY in the hero, MY + WORK in the section title. The outlined text is transparent with a 2px black stroke (1px at ≤479px).
- Everything uppercase on plum. Body, paragraphs, list items, nav and buttons are uppercase, on a #D6B9FC page with black type. Paragraphs drop to black at 75%.
- Half-and-half project rows. Each project is a two-column row with no gap: a full-bleed image on one half, and on the other a tag line (UI, UX, DEVELOPMENT) followed by a long 1px black rule, then a 46px title and a one-line description. Image and text swap sides row by row.
- The plum-on-black testimonial. One dark #181616 band holds a centred plum logo, a plum uppercase quote, a round portrait and the name, all in the same plum.
Colors
Surfaces
#D6B9FCPage, sections, footer (--plum)
#D6B9FCSame as canvas
#D6B9FCInputs are transparent on plum
#181616The testimonial band (--black-2) and everything in it
Ink
#D6B9FCText on primary
#000000Headlines, nav, labels, rules, input text (--black)
#000000 · 75%Paragraphs and project tags (p { color: #000000bf })
#FFFFFF#D6B9FCText on inverse-canvas
Action
#000000The pill button: black with plum text
#292929Button hover
#8338ECBlue-violet (--blue-violet), only the 2px left rule on rich-text blockquotes
Lines & effects
#000000The 1px rule after each project tag, input bottom borders, the link underline bar
Typography
Satoshi · display-hero
The quick brown fox jumpsGRAPHIC / VISIONARY (.title-1, 14rem). 224px · 400 · 0.8 · 3px
Satoshi · headline-lg
The quick brown fox jumpsProject titles (PYRAMID ILLUSTRATION, COMPANY MOCKUP). 46px · 500 · 1.3
Satoshi · title-lg
The quick brown fox jumpsRolling text links (.button-main-text, 34px window). 26px · 500 · 1.23 · 1px
Satoshi · body-quote
The quick brown fox jumpsTestimonial quote. 23px · 400 · 1.5 · 1px
Satoshi · logo
The quick brown fox jumpsPORTFOLIŌ / OF JOHN SMITH, two lines with a 3px gap. 18px · 500 · 1.0 · 3px
Satoshi · label-tag
The quick brown fox jumpsProject tags UI, UX, DEVELOPMENT. 16px · 700 · 1.4
Spacing & shape
| Purpose | Value |
|---|---|
| Container | max-width: 1200px, centred, inside sections padded 100px 5% (72px sides at 1440px) |
| Breakpoints | 991px (79 rules), 767px and 479px, plus min-width: 768px |
Spacing scale
| Token | Value | Preview |
|---|---|---|
xs | 16px | |
sm | 20px | |
md | 30px | |
lg | 50px | |
xl | 100px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
section-sm | 50px | |
gutter | 72px | |
hero-bottom | 80px | |
section | 100px | |
hero-top | 120px | |
nav-height | 130px |
Border radius
Motion
| Heading wipe | A plum .heading-overlay starts over the title and slides off (translate -100% start), while the title rises inside a 180px overflow-hidden frame |
| Scroll fade-up | opacity 0 → 1 and move → 0px, 1000ms outQuart |
| Text roll | Link text moves y 0 → −100% and a copy follows, 300ms ease |
| Underline grow | Bar height and width grow, 300ms ease / 500ms outExpo |
| Hover pop | scale 1 → 1.1, 100ms ease |
| Icon turn | Rotation, 200–400ms ease |
| Text rotator | Rows move sideways with scroll (scrolling-in-view) |
| Button | transition: all .2s to #292929 |
| Social icons | Opacity to 0.7 on hover |
Do’s and don’ts
- Keep the whole page plum #D6B9FC with black #000000 text, and set paragraphs at 75% black.
- Set every text element in Satoshi uppercase, with +1–3px tracking on labels and display words.
- Pair a solid word with an outlined word for each large title.
- Lay out projects as two halves with no gap: a full-bleed image and a text block with a tag, a 1px rule and a 46px title.
- Use the single black pill (40px radius, #D6B9FC text) for the main action and MORE ABOUT ME-style underline links elsewhere.
- Use #181616 with plum text for the one contrasting band.
- Add white or grey surfaces, cards or borders around content.
- Use white text on the dark band; it is plum.
- Set display words bold. They are weight 400.
- Round images or inputs.
- Use the blue-violet #8338EC outside rich-text blockquotes, or bring in the unused wheat and gold variables.
- Add drop shadows or gradients to the UI.
Example prompt
Any page in the PORTFOLIŌ style
More design systems like this
Portfolio design systems, the same colors first.
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 AccessHow to use the PORTFOLIŌ design system
Pick a file to see what it’s for and where it goes.
What it is
The whole design system in one markdown file, written for AI: every color, type style, spacing value, component and motion rule, plus do's, don'ts and a ready prompt.
Best for
Claude, ChatGPT, Gemini, Cursor and v0, or any other AI tool that builds pages or code.
How to use it
- Put
DESIGN.mdin your project and mention it in your request, or save it as.cursor/rules/portfolio.mdc - For the rule file, start it with a front-matter block that sets
alwaysApply: true, so every chat uses it - Ask: “Build a pricing page using DESIGN.md.” Cursor follows the colors, fonts, spacing and rules
- Put
DESIGN.mdin the project root - Add one line to
CLAUDE.md: “Follow DESIGN.md for all UI.” - Ask for any page or component; Claude reads the file first
- Attach
DESIGN.mdto the chat (or paste it in) - Ask: “Build a landing page in this design system.”
- Keep the file in the chat or project knowledge, so follow-up pages stay on style
What it is
Every token as data, in the W3C Design Tokens format: colors with their roles, type styles, radius, spacing, and component tokens that point at them.
Best for
Figma (Tokens Studio), Style Dictionary and other design-token tools, and build scripts.
How to use it
- In Figma, open Tokens Studio, choose Import, and pick
tokens.json - Or point Style Dictionary’s
sourceat it to generate tokens for any platform - In code, import it like any JSON file
What it is
A Tailwind CSS v4 theme: every color, font, type style, radius and spacing value becomes a Tailwind utility, like bg-canvas, text-headline-lg or rounded-md.
Best for
Tailwind v4 projects, and AI builders that write Tailwind (v0, Lovable, Bolt).
How to use it
- Save
theme.cssnext to your main CSS file - Import it after Tailwind:
@import "tailwindcss"; @import "./theme.css"; - Use the classes:
bg-canvas text-ink rounded-md p-lg
What it is
The same tokens as plain CSS variables on :root. Component values point at the color variables, so changing one color updates everything that uses it.
Best for
Any website: plain CSS, Webflow custom code, Framer, WordPress.
How to use it
- Add it to your stylesheet, or in Webflow paste it into Site settings → Custom code inside a
<style>tag - Use the variables anywhere:
color: var(--color-ink) - Change a token once and every place that uses it follows






