Guide
Blend two reference sites into one design for a prototype
“Make it feel like Notion meets Stripe.” Clients brief prototypes like this all the time. With a DESIGN.md for each site you can turn that sentence into one concrete spec: compare the tokens side by side, decide which file leads, and merge.
Design Extractor gives you the two files. The merge is yours to make, by hand or with your coding agent, and this guide shows both.
Written for designers and agencies prototyping. Updated .
What you'll get
- Two DESIGN.md files compared token by token, so the differences are concrete.
- A merge plan: one file as the base, named token groups from the other.
- The merged DESIGN.md, made by hand or by your agent with the prompt below.
- A contrast check, so the blend still reads well.
How blending works
A blend is not an average. Mixing half of one palette with half of another gives you a site that looks like neither. What works is one base file plus a few named parts from the other:
- The base gives the structure: type scale, spacing, radii and component recipes.
- The accent lends whole groups, such as its primary color family or its display font, never single stray values.
Both files follow Google's DESIGN.md specification, so the groups line up: colors, typography, rounded, spacing and components. See what a DESIGN.md contains for the full structure.
Steps
Get both files
Copy them from the gallery if they are there, or paste each URL on the Design Extractor home page and run a Pro extraction for each.
Put them side by side
Compare primary colors, backgrounds, fonts, type sizes and radii, as in the table below.
Pick the base
Choose the site whose layout and density match the prototype.
Name what the accent lends
Write it down as token groups, such as “its primary color family”.
Merge by hand or with your agent
Both ways are below. Save the result as DESIGN.md in the prototype repo.
Check contrast and structure
Paste the merged file into the free DESIGN.md Validator.
Worked example: Notion meets Stripe
Two real files from the gallery: Notion's DESIGN.md and Stripe's DESIGN.md. Both were extracted from the brands' public websites and are not official brand guidelines.
| Notion | Stripe | |
|---|---|---|
| Primary | #0075DE | #533AFD |
| Background | #FFFFFF | #FFFFFF |
| Text | #000000 | #061B31 |
| Fonts | Notion Inter, Lyon Text | Sohne |
| Largest type | hero-display, 96px, weight 600 | hero-display, 56px, weight 500 |
| Body type | body, 16px, weight 400 | body-lg, 18px, weight 300 |
| Button radius | 8px | 4px |
| Color tokens | 20 | 21 |
| Component recipes | 14 | 71 |
One way to blend them
Take Notion as the base for its type, spacing, radii and components, and let Stripe lend its primary color family (primary, primary-focus, primary-bright, primary-pressed, primary-deep, primary-soft). That is the classic “our layout, their energy” brief.
Check the numbers before you commit to it. Stripe's primary on Notion's background has a contrast of 6.1:1. Notion's on-primary text on the new primary reaches 6.1:1. Body text needs at least 4.5:1 under WCAG AA; large text and icons need 3:1.
One trap: Notion's own primary, #0075DE, appears 65 times in its file, mostly inside component recipes. Replacing the token at the top is not enough; every copy has to change.
---
name: Notion and Stripe prototype
colors:
primary: "#533AFD"
primary-focus: "#5452FB"
primary-bright: "#635BFF"
primary-pressed: "#4032C8"
primary-deep: "#2E2B8C"
primary-soft: "#D6D9FC"
on-primary: "#FFFFFF"
ink: "#000000"
typography:
hero-display:
fontFamily: Notion Inter
fontSize: 96px
fontWeight: 600
lineHeight: 1.05
letterSpacing: -4.6px
body:
fontFamily: Notion Inter
fontSize: 16px
fontWeight: 400
lineHeight: 1.5
letterSpacing: normal
rounded:
xs: 4px
sm: 8px
md: 12px
full: 9999px
---Merge by hand
- Copy the base file to DESIGN.md and change its
name. - In
colors, replace the base's primary family with the accent's values. - Search the whole file for each old hex value and replace it. Component recipes repeat the colors in their CSS, so the token list alone is not enough.
- Rewrite the Overview and Colors prose so they describe the blend, not either brand.
- Check the file in the validator and fix any contrast warnings.
Merge with your agent
Save both files in the prototype repo, for example under design/, and give your agent a prompt that names the base, the groups to take and the checks to run. This one was written for this guide with the real file and token names.
Read design/notion.DESIGN.md and design/stripe.DESIGN.md. Write DESIGN.md for our prototype:
- Start from the Notion file: keep its typography, spacing, rounded tokens and component recipes.
- Take Stripe's primary color family (primary, primary-focus, primary-bright, primary-pressed, primary-deep, primary-soft) and use it wherever the Notion file uses its own primary colors, including inside the component recipes.
- Rename the file and rewrite the Overview and Colors prose so they describe the blend, not either brand.
- Keep the section order of Google's DESIGN.md spec, and make sure text on the new primary meets 4.5:1 contrast.
List every value you changed.Review what comes back like any other change: read the diff, then paste the file into the validator. The agent does the typing; the decisions in the prompt are still yours.
Files used in this guide
Each gallery page has the full DESIGN.md to download, with its palette and type specimen.
Software & SaaS · Productivity & NotesNotion
Notion's marketing homepage pairs a deep navy (#02093a) hero section with a light (#f6f5f4) body, using a custom typeface (NotionInter) across all text roles. The design employs a 12-column grid with 28px gutters, a dual-radius language (8px for cards, 9999px for pills), and a multi-layer progressive shadow system for floating UI elements. Brand blue (#2537b1) drives CTAs and accent highlights, while a semantic gray-scale ladder (gray-200 through gray-900) structures all text and surface hierarchy.
Finance & FintechStripe
Stripe's marketing homepage uses a tightly controlled design system (HDS — Stripe Design System) built around the variable font "sohne-var" at light weights (300–400), a deep navy-to-indigo brand palette anchored by #533afd (Stripe Indigo), and a signature full-bleed spectral gradient hero. Components are low-radius (4–6px), flat-to-minimal-shadow, and structured around an 8px base spacing grid. The overall tone is authoritative yet approachable — financial infrastructure communicated through confident typography and restrained color use.
Travel, Transport & LogisticsAirbnb
Airbnb's design system is built around a single proprietary variable font (Airbnb Cereal VF), a near-monochrome neutral palette anchored by deep charcoal (#222222) and light grays, with the brand's signature "Rausch" coral-pink (#ff385c) reserved exclusively for primary CTAs and the logo. The layout is a responsive photo-card grid with generous image-to-text ratios, soft 20px rounded corners on cards, and a multi-layer ambient shadow system that creates subtle depth without harsh contrast. The search bar is a prominent pill-shaped container that unifies the core user action.
FAQ
Blend two website designs into one: questions
Short answers to what people ask before they try this.
No, there is no merge feature. Each extraction returns the DESIGN.md of one site. You merge two files by hand, or you ask your coding agent to do it with a prompt like the one in this guide, and then review the result.
Two, sometimes three. One file is the base and gives the structure: type scale, spacing, radii and components. The others lend a named part, such as a color family or a display font. Mixing values from more files makes the result look patched together.
The one whose layout and density match the prototype. If the client wants a calm document-like product with one site's colors, the calm site is the base and the other lends its colors, not the other way round.
Paste the merged file into the free DESIGN.md Validator. It checks the structure and flags text colors with too little contrast. Then build one real screen with it before you show the client.
Get the two files for your brief
Paste each reference site's URL and get its DESIGN.md, ready to compare and merge.
Related guides
Make Claude Code and Cursor build UI that matches a website
Extract a site you like, drop its DESIGN.md into your repo and point your agent to it, with the exact prompts for Claude Code and Cursor.
No designer? Borrow a proven design system for your app
How to pick a reference site, what to keep from its DESIGN.md and what to change so the result is yours and not a copy.
Rebuilding your site? Extract its design system first
Capture your current site as a DESIGN.md before a rebuild, rebrand or framework move, and know what to check by hand.
Give your coding agent design specs on demand with MCP
Connect the MCP server so your agent can extract a site's DESIGN.md on its own, wait for it and build from it.