Mason Doe Design System
Mason Doe is a one-person portfolio on a charcoal page. It is quiet and grey almost everywhere, then very loud in two places: the full-width wordmark at the top and the photographs. The interface never uses colour. Text sits in a soft grey (#B7B7B7) rather than white, which makes the whole page feel matte, like printed matter on dark board.
Four signatures make it recognisable:
- The fat wordmark. MASON DOE set in Rammetto One, a heavy rounded display face, at about 184px, spanning edge to edge of the 2% page margin. In the live hero part of it is smeared by a WebGL blur (a Unicorn Studio scene), so the name looks partly out of focus.
- Two fonts with opposite jobs. Rammetto One is used only for names: the wordmark, project titles on the cards (Forma Digital, Studio Focus), job titles and company names in the experience list, award names and service pills. Everything functional (nav, meta, paragraphs, tags) is Inter 500–600 at 14–19px with slight negative tracking.
- Rounded portrait work cards. Two columns of tall photo cards with a 10px gap, broken by one full-width card. The project name sits bottom-left in Rammetto One and © Strategy, Concept sits bottom-right in Inter, both white over a soft blurred strip at the bottom of the image.
- The scroll-filled statement. The about paragraph (My passion for design began with a simple question…) is split into characters that start at 40% grey and fill to full #B7B7B7 as you scroll, so the sentence appears to be read out on the page.
Mason Doe is a dark-only design.
Colors
Surfaces
#111111Page background (--colors--second-color)
#242424Partner logo cards, the hero contact card, the footer panel
#333333Service pills (Web Design, Marketing)
Ink
#B7B7B7Text on primary
#FFFFFFSection tags (About me, Experience), small highlights
#B7B7B7Body text, nav, meta, list rows, the wordmark
#B7B7B7 · 40%The unread part of the scroll-filled statement
#FFFFFFTitles and tags printed on photos
Action
#111111There is no filled button
Lines & effects
#B7B7B7 · 30%1px dividers under each experience and award row
#B7B7B7 · 20%The resting underline of a text link
#B7B7B7 · 43%1px dashed border of the section tags
#FFFFFF · 20%Small arrow square and blur strips over images
Typography
Rammetto One · display-hero
The quick brown fox jumpsMASON DOE wordmark (12.8vw at 1440). 184px · 400 · 1.11 · 2.76px
Inter · headline-md
The quick brown fox jumpsAbout statement (.about-title, 1.7rem). 27px · 600 · 1.1
Rammetto One · title-work
The quick brown fox jumpsProject names on work cards (.work-text, 1.2rem). 19px · 400 · 0.85 · -0.4px
Inter · body
The quick brown fox jumpsParagraphs (p, 1.1rem). 18px · 500 · 1.3 · -0.2px
Inter · label-lg
The quick brown fox jumpsCard tags © Strategy, Concept. 19px · 500 · 0.85 · -0.4px
Inter · logo
The quick brown fox jumpsMD© mark. 18px · 600 · 1.3 · -0.4px
Spacing & shape
| Purpose | Value |
|---|---|
| Container | full width (--page-container--width: 100%) with 2% side padding, which is about 29px at 1440 |
| Section rhythm | the home page is one .section with 2% padding on three sides and 72px at the bottom |
| Breakpoints | 991, 767 and 479px, plus a 1920px+ step |
Spacing scale
| Token | Value | Preview |
|---|---|---|
hair | 4px | |
xs | 10px | |
sm | 20px | |
md | 30px | |
lg | 50px | |
xl | 60px | |
2xl | 120px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
tile-gap | 5px | |
grid-gap | 16px | |
nav-y | 25px | |
section-x | 29px | |
card-pad | 40px | |
logo-card-y | 70px | |
section-bottom | 72px | |
section-y | 250px |
Border radius
Surfaces
How the surfaces stack, from the page background up. Hex codes and roles are in Colors above.
Motion
| Smooth scroll | Lenis on the whole page |
| Text roll on hover (nav, links) | SplitText; label y 0 → −100%, 400ms, power1.out, staggered |
| Headline reveal | SplitText; lines or characters y 100% → 0%, 700ms, power2.out, staggered |
| Arrow nudge | x 0 → −14px, 200ms, power1.out |
| Statement fill | ScrollTrigger from top bottom to bottom 60%, scrub 0.8; characters go from 40% to full grey |
| Fade-in | Opacity 0 → 1, 1000ms outQuart |
| Image hover | Scale 1 → 1.05, 600ms outExpo; small images 1 → 1.1, 400ms outExpo |
| Parallax | Images move y −15% → 15% while in view |
| Logo flip | RotateY 0 → 180° → 360°, 1000ms swingTo |
| Filter and border | 200–300ms ease / outSine on hover |
| Mouse follow | Elements ease back to x 0, y 0 over 1000ms outQuart |
Do’s and don’ts
- Keep the page on canvas #111111 with text in ink-muted #B7B7B7; use white only on photos and section tags.
- Set names (projects, studios, awards, the wordmark) in Rammetto One and everything else in Inter 500–600.
- Open each about block with a dashed section-tag (7px radius, #B7B7B7 at 43% dashed border).
- Use underlined text links (label-link with a 1px line-soft track) for actions.
- Put work in rounded portrait cards (about 10px radius) in a 2-column grid with 10px gaps.
- Use 1px line (#B7B7B7 at 30%) rules under list rows.
- Add an accent colour, coloured buttons or drop shadows.
- Use Rammetto One for paragraphs, nav or buttons, or ask it for weights it does not have.
- Use ink-faint (40%) for anything except the unread part of the statement at 27px and above. It is a reveal state, not a text colour.
- Put a dark gradient on photos; use the 15px backdrop blur strip.
- Round cards beyond 14px, except the service pills at 30px.
- Add filled pill buttons; the template's only pills are service tags.
Example prompt
Any page in the Mason Doe 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 Mason Doe 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/mason.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






