Every theme here was measured off a page that was already running.

No design was invented for this catalogue and no screenshot was traced by hand. A headless browser opens the page, reads what the browser itself computed, and a deterministic program turns that into tokens. This is what it does, and what it cannot do.

How a theme is measured

One pass, five steps, no model in the loop:

Every value on a theme's page is labelled with where it came from, and those four words mean exactly this:

measured
read off the rendered page.
token
the theme's own named token, chosen deliberately by whoever authored it.
derived
computed from a measured value by a stated rule — a button's text colour from its background's contrast, say.
default
a fallback, because nothing on the page answered. A control height, a padding. A handful per theme at most, and each one says so.

A shadow that was never measured stays none rather than becoming a plausible one. That is why some themes in the gallery look flat: they are.

What a measurement cannot see

A page renders once, signed out, at one viewport, and that is the whole of what gets measured:

Where a scan had to fill a gap, its own $description lists what it derived rather than measured, and its theme page prints that list. A theme that admits its guesses is more useful than one that hides them.

Using it from an agent

The server speaks MCP, which is the point of it. One endpoint, bearer token:

POST https://stylelift.dev/mcp

Four tools: list_themes, get_theme (json, css, tailwind4, tailwind3 or fonts), apply_theme (the files to write plus the import steps for the detected stack) and save_theme.

No token and no account needed to read a file — every theme's generated output is open:

curl https://stylelift.dev/t/stripe/tokens.css

Those files are served with Access-Control-Allow-Origin: *, so a browser can fetch them directly. https://stylelift.dev/use/<theme> is the same thing as instructions, for pasting into an agent.

What this site stores

Signing in is optional. It exists so that a site you scan yourself stays yours, and so the gallery browser is not an open crawl target — not to build a profile.

Measuring a page means rendering it, and a render is a picture of whatever that page was showing. Those renders stay on the machine that did the measuring: none is published, none is committed, and no page on this site serves one. What ships is the numbers that came out.

Who runs this

Stylelift is a small, independent project. It is not affiliated with, sponsored by or endorsed by any of the 1137 products it measures; each theme is named after its source so the source is always obvious, and each one says which page it was read from and when.

Write to elvickongolo@gmail.com — a correction, a site worth measuring, or a request to remove one. Removal requests from a site's owner get done; no argument, no form.