LoupeKitAdd to Chrome
v1.0 released

Read the stack.
Score the vibe.

A panel that floats over the page — names the framework, extracts the palette, measures the box model — and scores how much of the page an AI generated. Twenty-eight heuristics, every one quoting the number it fired on.

3 free audits · no sign-up · no <all_urls>

technologies
1020technologiesacross seven detection sources
heuristics
28heuristicseach quoting the value it fired on
trackers
0trackerson this site and in the extension
host permissions
0host permissionsin either shipped manifest

This is it running

Not a mockup and not a reconstruction — a scripted pass over a page you have read, recorded whole, re-rendered every release so it cannot quietly stop matching the product.

Panel opens over a page you know, names the stack, then draws on it
Panel opens over a page you know, names the stack, then draws on it

Six things it does that a devtools panel does not

All of it on the page you are already looking at, and none of it behind an account.

Forty-six tools and diagnostics, in one panel

One install, one shortcut, one permission list. The three markedProare marked the same way inside the panel, next to a sentence saying what they do once unlocked.

Tools

Act on the page. Every one of them undoable.

  • Classes
  • Wording
  • Viewport
  • Grid
  • Fonts
  • Recorder
  • Comp
  • JSON
  • Tables
  • Markdown
  • QR code
  • Print
  • Pseudoloc
  • Reader
  • Page theme
  • Client reportPro
  • Copy inspect
  • Component
  • Units

Diagnostics

Read the page, and hand back somewhere to look.

  • Cascade
  • Z-index
  • Shifts
  • Overflow
  • Reflow
  • Font loading
  • Forms
  • Environments
  • Load timing
  • Page weight
  • Unused
  • Images
  • Focus path
  • Keyboard walk
  • Scrolling
  • Mutations
  • Tokens
  • Animation
  • Media
  • Third partiesPro
  • Source mapsPro
  • Outline
  • Head order
  • Iframes
  • Font faces
  • Tailwind theme
  • Preferences

Four permissions, and a longer list of refusals

Read this against the manifest of anything else you have installed. It is the comparison that does not show up in a feature table.

What it asks for

  • activeTab

    Reads the tab you are on, from the moment you click. Not before, and not any other tab.

  • storage

    Keeps your settings, the local device id and your own AI key on this machine. Nothing in it is synced.

  • scripting

    Runs the inspector inside that one page. There is no declared content script, so nothing is injected anywhere you have not acted.

  • contextMenus

    Adds the right-click entries. It carries no data access at all — it cannot read the page, the tab, or what you clicked.

What it never asks for

  • host_permissions

    Absent from both built manifests. A test fails if one appears.

  • <all_urls>

    Never as a permission. It appears once, in web_accessible_resources, which is not one.

  • tabs

    Your other tabs are not enumerated, titled or counted.

  • cookies

    The cookie editor reads document.cookie — exactly what the page can already read about itself.

  • webRequest

    Nothing sits in front of your traffic.

  • history · bookmarks

    Not requested, and nothing in the panel would use them.

  • an account

    There is none to make. A device id is minted locally on first run.

  • an analytics origin

    This site fetches nothing off-origin, and its build is scanned for it.

  • background collection

    An audit runs on a click. No tab is read because you happened to open it.

Four more are optional and none of them is granted at install: the AI provider origins, the one that lets the panel open itself on a page, the request-rule permission and the WebRTC privacy setting. Each is asked for from the click that turns the feature on, and handed back in the action that turns it off.

Where it runs

Safari is not shipped and is not on the roadmap. Its extension model would need a third build and a native app wrapper around it, which is a different product rather than a fourth target.

One panel, nine surfaces

It floats over the page, not beside it — a docked panel narrows the viewport, so every width you measure belongs to a layout no visitor sees. Drag it anywhere, and it stays put when you click into the page, which is exactly when a hover inspector needs to still be there.

Free for reading. Paid for taking something away.

No price is printed on this page on purpose — checkout reads the live one, so this cannot quote a figure that has moved.

Free

No account, no card

  • Every tool and diagnostic that reads the page in front of you
  • The stack, its evidence, the SEO and accessibility readers
  • Three audits, scored in full

A device id is minted locally on first run.

Pro Monthly

Most flexible

Billed monthly

Everything in Free, and everything in the list below.

Cancel any time from the Stripe portal.

Pro Lifetime

Best value

One-time payment

Everything in Free, and everything in the list below.

No subscription, no renewal.

Both paid plans carry all of this

Add to ChromeAdd to Firefox

Upgrading happens in the panel, not here. Payment runs through Stripe and we never see a card number; a refund is fourteen days, by email.

Changelog

What is in the build today. Nothing here is a roadmap item.

README.md

# What leaves your browser

A hostname. Integer counts. Class-name strings. The page title and heading text, truncated and redacted. That is the whole audit payload — no body copy, no form values, no full URL.

# What never does

Everything else. The palette, the fonts, the assets, the box model and every live edit stay in the page and leave only through your clipboard. Your AI keys never reach our servers — they are not in the request, and the code that sends them cannot reach the code that talks to us.

# What it never asks for

<all_urls>. There is no declared content script and no host permission; page code is injected only on the tab you invoked it on, only when you click. Nothing runs in the background across your tabs.

// permissions, both builds

"permissions": ["activeTab", "storage", "scripting"]

"host_permissions": []

Questions

How is the Vibe Score calculated?

Twenty-eight heuristics across five weighted categories — markup, CSS, runtime, copy and accessibility. Each awards partial credit against a budget and quotes the value it measured, so a score of 62 comes with the sentence that produced it. The scoring runs on the server, not in the extension, so it cannot be read off or edited from the page it is judging.

Does a low score mean the site is bad?

No. It means the markup carries the fingerprints of a generator: repeated utility strings, inline SVG flooding, unstyled component defaults, buzzword headings. Plenty of good sites are generated and plenty of hand-written ones are a mess. The report is a starting point for a refactor, not a verdict on the work.

I already have DevTools. What does this do that it does not?

DevTools answers one element and one question at a time. This reads the whole page at once and hands back a ranked list — every element that overflows the viewport, every stacking context, every image shipped at twice the size it renders, a heatmap of which rule actually won. It also answers questions DevTools never asks: what the page was built with and how each detection was made, what its design tokens are, and how much of the markup reads as generated. It floats over the page rather than docking beside it, so what you are inspecting keeps the width it had.

I already use four free extensions for this.

So did we. Forty-six tools and diagnostics in one panel is one install, one shortcut and one place to look — and, more to the point, one permission list. Four extensions that each read every site you visit are a wider surface than one that reads the tab you are looking at when you click it. Compare the manifests rather than the feature tables; that is where the difference is.

Is the free tier usable, or is it a demo?

Free is for looking, and looking is most of it: the inspector, the extractors, the stack detection with the evidence for each match, the SEO and accessibility readers, and the tools and diagnostics that answer from the document already in front of you. Pro is for taking something away — a generated theme or token file, a client-ready report, a WCAG conformance statement, the third-party register — and for the readings that cost a request, the audit past the free three among them. Every locked feature is marked where it sits, with a sentence saying what it does once unlocked, so you meet the line while reading rather than at the checkout.

Is Lifetime really a single payment?

One payment, no renewal, and it carries exactly what the monthly plan carries. That is a constraint in the code rather than a promise in the copy: both plans are held to one shared feature list, so neither can quietly grow a perk the other lacks. No price appears on this page on purpose — checkout reads the live one, so this page cannot quote a stale figure.

Do you offer refunds?

Fourteen days from the payment. Email and ask — there is no form to fill in and no retention flow to sit through. Fourteen rather than thirty because it is the withdrawal period EU consumer law already gives you for digital content bought online, so the promise and the obligation are one thing instead of two. Payment runs through Stripe and we never see a card number.

Will it keep getting new tools?

That is what the changelog is for. The release list on this site and the What’s new screen in the panel render the same array, so the rate is visible rather than promised. Adding a tool to the panel is a row in a table by design, which is why the count keeps moving.

What happens if you stop working on it?

Most of it does not depend on us. Everything that reads the page in front of you runs in the browser and calls nothing — the inspector, the extractors, the stack detection, the SEO and accessibility readers, and every tool and diagnostic that works on the open document. What would stop is the handful of readings that leave this machine: the audit, the Server tab’s probes, field data from the Chrome UX Report, the advisories against a detected version, the sitemap crawl, and anything published at a link. The panel would keep working; it would answer fewer questions.

Can I use it on client work?

Yes, personal and commercial both. The client report is built for exactly that — a branded export of a finding at a link that stops working on a date you choose, instead of a screenshot in an email.

Does it work on staging, localhost and pages behind a login?

Yes. It reads whichever tab you are on when you click, which includes localhost, a staging host and anything you are signed in to. There is no list of sites it works on because there is no list of sites at all.

What does the audit send?

A hostname, integer counts, class-name strings, and the page title plus heading text after truncation and redaction. No body text, no input values, no full URL. The privacy page lists every field.

Why three free audits and no sign-up?

An audit costs a server request; nothing else in the extension does. The inspector, extractor and the three playground tools run entirely in your browser and are free without limit. A device id is minted locally on first run — there is no account to create and no email to give.

Where do my AI API keys go?

Into your browser storage, and from there straight to the provider you chose. They are never sent to our server, never logged, and never shown again in full. Browser storage is not encrypted — anything with access to your profile can read it — and the settings screen says so before you paste anything.

Why does it need permission at all?

activeTab and scripting, granted for the tab you are on when you click. That is what lets it read the page you asked about. It does not request access to all sites, and neither built manifest contains a host permission.

Which browsers does it run on?

Chrome, Edge and any other Chromium browser, and Firefox from version 140. It is the same panel on both — one build target each, and the two manifests are structurally identical. The Firefox floor is 140 because that is the version with the built-in data-consent screen; below it an add-on has to ship its own, and a second parallel consent path for the one security-relevant statement this product makes is worse than a higher floor. Safari is not shipped.