01 Paste
Give it a page
Any live URL whose design is worth having — a competitor, a product you admire, anything public.
Design system extraction · v0.1
Colors, type, spacing, borders and motion, read off any live page — drawn as a graph you can explore, and written to a spec file your AI coding tool can build from.
Interactive Demo Preview
Sample interactive visualization built from example design data. Hover and drag nodes to inspect token relationships.
Why this exists
A token goes live in a day, so the site gets built in an afternoon — and it shows. In a market where everyone is scanning for a reason not to trust you, looking rushed is reason enough.
Most teams don't have a designer, a budget, or the week it would take to fix that. What they usually do have is a site they already admire. This turns that into something they can actually build from.
How it works
01 Paste
Any live URL whose design is worth having — a competitor, a product you admire, anything public.
02 Watch
The page is rendered in a real browser and read: color, type, spacing, borders, shadows, motion. The graph builds as it works.
03 Export
Download DESIGN.md — exact values, component
recipes, and plain notes on anything that could only be
approximated.
04 Build
Paste it into Claude Code, Cursor, or any AI coding tool with your own content. Same visual language, your project.
Under the hood
Nothing here is guessed from a screenshot. The page is rendered, measured, and scored — then explained.
Fig. 1 — Render
Headless Chromium via Playwright, with a Firefox fallback for pages behind bot detection.
Fig. 2 — Measure
Color, typography, spacing, borders and shadows read from the DOM after hydration — not from source CSS.
Fig. 3 — Motion
Duration scale, easing curves, and which properties move on hover, per component type.
Fig. 4 — Score
A value used across forty elements isn't the same as one seen once. Both are kept; only one is trusted.
Fig. 5 — Explain
Claude reads the tokens alongside the screenshot and writes why the system holds together — the part a raw JSON dump can't give you.
Fig. 6 — Export
DESIGN.md, W3C design tokens, and a brand guide PDF. No lock-in to one editor or one model.
The dashboard
Come back to any page you've taken apart. Read the exact values, compare two sites side by side, export again whenever you need it.
Token graph · Example
Sample token values · 27
| color/ink | #0A2540 |
| color/primary | #635BFF |
| type/display | Sohne 76px |
| space/base | 8px |
| radius/md | 12px |
| motion/ease | 200ms ease-out |
| confidence |
Fig. 7 — Scan detail · graph, values and exports
Start here
Take its design apart, keep the system, bring your own content.
OPHELIA
New Scan
Paste a public website URL below.
ophelia-palette.com/scan?url=stripe.com
This is its own page — not a section on the landing site. The moment you submit a URL, you land here.
Once this finishes, the browser moves to /scan/[id] — the Result view. The URL changes, so a result can be bookmarked or shared.
This page needs no login. Running a scan and exporting DESIGN.md stay frictionless — only saving to history (Dashboard) asks for an account.
Scan result
| Token | Value | Used by | Confidence |
|---|---|---|---|
| Color | |||
| color/ink | #0A2540 | 4 | |
| color/primary | #635BFF | 2 | |
| color/paper | #FFFFFF | 3 | |
| color/accent | #00D4FF | 1 | |
| Typography | |||
| type/display | Söhne 76px 500 | 1 | |
| type/body | Söhne 17px 400 | 3 | |
| Spacing | |||
| space/1 | 8px | 2 | |
| space/2 | 16px | 1 | |
| space/5 | 64px | 1 | |
| Motion | |||
| motion/fast | 200ms ease-out | 2 | |
---
source: https://stripe.com
extracted: 2026-08-07T09:00:00Z
tokens:
color:
ink: "#0A2540"
primary: "#635BFF"
---
# Design System
Extracted from `stripe.com`. Visual language only — no copy, no images, no brand assets.
## Color
- `--ink` `#0A2540` — primary text _(4 components)_
- `--primary` `#635BFF` — interactive _(2 components)_
## Component Recipes
### Button
```css
background: #635BFF;
border-radius: 12px;
transition: 200ms cubic-bezier(.2,.7,.3,1);
/* :hover */
background: #5449E0;
transform: scale(1.02);
```
## Confidence & Detection Notes
`color/accent` — seen on 1 element only, may not be systematic.
Hero uses a canvas gradient — can't be extracted exactly, described instead.
color/accent appears on 1
element only — may be incidental, not systematic.
Dashboard
Viewing