Skip to content

Recipe R01

The Portfolio

A personal site that leads with the work and ends with a way to reach you.

Designers and engineers who want a site that reads like a considered résumé, not a template.

The page, section by section

  1. 01

    Masthead and intro

    Masthead Nav

    Your name set large, folding into a compact bar as the page scrolls, so the header is an introduction first and navigation second.

  2. 02

    Inline links

    Draw Link

    Links inside the intro sentence draw their underline on hover, so the sentence stays a sentence.

  3. 03

    Selected work

    Highlighter Row

    Editorial rows where a marker stroke swipes the project title: a list you read, not a grid you scan.

  4. 04

    Roles as dated entries that open for detail, so the page stays short but nothing is hidden.

  5. 05

    Ends the page with one line, your email to copy, your local time and whether you're available.

The build brief

Paste it into Claude, Cursor or ChatGPT with the component files, and ask for your own version: your name, your work, your product. It names each component and where to copy it from.

# Build brief: The Portfolio

A personal site that leads with the work and ends with a way to reach you.
For: Designers and engineers who want a site that reads like a considered résumé, not a template.

## Direction
- Dark, warm and quiet: near-black plum (#0b080d) with cream text (#efe8dc) and one cool accent (#b9cce4).
- An editorial serif (Instrument Serif) for names and headings, a plain sans for reading, a mono for small labels and dates.
- Nothing moves unless it says something: the masthead folds away as you read, links draw an underline, work rows mark their title when you point at them.
- Real copy only. Name the projects, the years and the city.


## Page map
1. Masthead and intro: Masthead Nav. Your name set large, folding into a compact bar as the page scrolls, so the header is an introduction first and navigation second.
2. Inline links: Draw Link. Links inside the intro sentence draw their underline on hover, so the sentence stays a sentence.
3. Selected work: Highlighter Row. Editorial rows where a marker stroke swipes the project title: a list you read, not a grid you scan.
4. Experience: Meander Timeline. Roles as dated entries that open for detail, so the page stays short but nothing is hidden.
5. Contact: Sign-off Footer. Ends the page with one line, your email to copy, your local time and whether you're available.

## Components
Copy each component's files from its page (Code tab) into your project before you start, and use them as given: change props and content, not internals.
- Masthead Nav: https://tryvitrine.dev/components/masthead-nav (An editorial masthead that condenses as you scroll — the big name shrinks and travels into the logo slot, the frame gathers into a floating pill, and nothing ever snaps.)
- Draw Link: https://tryvitrine.dev/components/draw-link (A text link whose underline follows your hand: it draws in from the side you arrive on and leaves out the far side, like a stroke passing under the words.)
- Highlighter Row: https://tryvitrine.dev/components/highlighter-row (Editorial list rows where a marker stroke swipes the title and a hand-sketched arrow loops from icon to index.)
- Meander Timeline: https://tryvitrine.dev/components/meander-timeline (Collapsible event cards strung on a hand-drawn wavy rail, each pinned by a glowing amber node.)
- Sign-off Footer: https://tryvitrine.dev/components/sign-off-footer (A footer that ends the page the way a letter ends: one large closing line, a live clock for where you are, and an email you can copy in one click.)

## Build
- Next.js (App Router), TypeScript, Tailwind CSS. No extra UI libraries.
- Write real content for this site: real names, dates, numbers and sentences. No lorem ipsum, no "Feature one".
- Compose the sections in the order of the page map. Keep each component's own spacing; add page rhythm with consistent section padding.
- Mobile first: every section must work at 375px wide without horizontal scrolling.
- Respect prefers-reduced-motion everywhere; every Vitrine component already does.

## Before you ship
- Run `/template-tells` (https://tryvitrine.dev/workshop/skills/template-tells) on everything you wrote yourself: copy, sections, styles.
- Run `/responsive-audit` (https://tryvitrine.dev/workshop/skills/responsive-audit) at 375, 768 and 1280.
- Run `/accessibility-pass` (https://tryvitrine.dev/workshop/skills/accessibility-pass).
- Run `/performance-pass` (https://tryvitrine.dev/workshop/skills/performance-pass) on a production build.
- Run `/technical-seo-audit` (https://tryvitrine.dev/workshop/skills/technical-seo-audit) and `/seo-auditor` (https://tryvitrine.dev/workshop/skills/seo-auditor) before launch.

Direction

  • Dark, warm and quiet: near-black plum (#0b080d) with cream text (#efe8dc) and one cool accent (#b9cce4).
  • An editorial serif (Instrument Serif) for names and headings, a plain sans for reading, a mono for small labels and dates.
  • Nothing moves unless it says something: the masthead folds away as you read, links draw an underline, work rows mark their title when you point at them.
  • Real copy only. Name the projects, the years and the city.

Featured

301 components