A developer's inspector for the page you already have open. It names the technologies behind it and shows the evidence for each, extracts the palette, fonts and assets, and scores how much of the page reads as raw AI output. It reads one tab, when you ask.
There is a lot of vibe-coded software out there now — and I could not tell what was what.
Not in a judgy way. I ship fast too. But I kept opening pages where something was off: forty classes on one div, eleven nested wrappers around a single paragraph, an aria-label on a button that already had a name. You feel it before you can point at it.
So I went looking for a way to check. What I found was either a linter I had to wire into a repo I do not own, or a paste-your-code box, or a model asked to guess. All of them answer a different question. I am not holding the codebase — I am looking at a page.
So I built LoupeKit: the check, on the page, in one click 🔍
1. A 0-100 score across five weighted categories — markup, CSS, runtime, copy, accessibility 2. 66 heuristics, each finding saying exactly what it measured and what to change 3. Click a finding and the page scrolls to that element and selects it — you look at the thing, not at a line number
That third one is what I actually wanted. A number on its own is an opinion. A number that walks you to the element it is talking about is a review.
The hard part was calibration, in the direction nobody expects: getting it to leave careful hand-written work alone. A tool that flags good code is worse than no tool — you stop reading it, and then it never catches the real thing either.
One decision I would defend loudest: no website permission at install. Empty host_permissions in both builds. It reads the tab you are on, when you click, and nothing in the background.
Free tier is 3 audits, everything else unlimited. Chrome, Edge, Firefox and others.
Enjoy! — Jan
Report
Forty classes on one div is Tailwind working as intended, not evidence of a model. That's my worry with the AI score specifically: the signals you opened with measure sloppiness, and sloppiness only correlates with AI, so a careful Tailwind page and a lazily prompted one land in the same band. The markup and accessibility findings are defensible because each one walks you to a real element you can go argue with. A score for AI authorship is the one number nobody can check, which makes it the one most likely to be quietly wrong.
@asadmalik901 You're right, and Tailwind is the exact case that breaks it: utility density is evidence of a framework, not of an author. Sloppiness correlates with lazy prompting, and correlation is not what a number presented as a verdict implies.
What I'd push back on is only the framing of the score as a classifier. Every finding names the signal that produced it and the rule behind it, and the Findings and Signals views exist so the score can be taken apart rather than trusted — that's the same "walk me to the thing" property you're crediting the markup findings with. Where you're right is the aggregate: one number on top is the only output in that tab nobody can falsify, and it's doing the most rhetorical work.
Two changes I'd rather make than defend it. A framework-aware baseline, so a page that fingerprints as Tailwind isn't charged for utility class density. And demoting the single number, because the defensible artefact is the list underneath it.
Which signals would you drop first? If they're the ones I suspect, that's a short list and a good afternoon's work.
The site I do SEO for has dozens of near-identical format pages, MKV to MP4, MOV to MP4 and so on, templated on purpose rather than written by a model. Does your score separate formulaic-by-design from actually generated, or would a page like that light up red?
Report
the click-to-element part is probably my favorite. much easier to judge a finding when you can actually see what triggered it.
LoupeKit
Hey Hunters 👋
There is a lot of vibe-coded software out there now — and I could not tell what was what.
Not in a judgy way. I ship fast too. But I kept opening pages where something was off: forty classes on one div, eleven nested
wrappers around a single paragraph, an aria-label on a button that already had a name. You feel it before you can point at it.
So I went looking for a way to check. What I found was either a linter I had to wire into a repo I do not own, or a paste-your-code
box, or a model asked to guess. All of them answer a different question. I am not holding the codebase — I am looking at a page.
So I built LoupeKit: the check, on the page, in one click 🔍
1. A 0-100 score across five weighted categories — markup, CSS, runtime, copy, accessibility
2. 66 heuristics, each finding saying exactly what it measured and what to change
3. Click a finding and the page scrolls to that element and selects it — you look at the thing, not at a line number
That third one is what I actually wanted. A number on its own is an opinion. A number that walks you to the element it is talking
about is a review.
The hard part was calibration, in the direction nobody expects: getting it to leave careful hand-written work alone. A tool that
flags good code is worse than no tool — you stop reading it, and then it never catches the real thing either.
One decision I would defend loudest: no website permission at install. Empty host_permissions in both builds. It reads the tab you
are on, when you click, and nothing in the background.
Free tier is 3 audits, everything else unlimited. Chrome, Edge, Firefox and others.
Enjoy!
— Jan
Forty classes on one div is Tailwind working as intended, not evidence of a model. That's my worry with the AI score specifically: the signals you opened with measure sloppiness, and sloppiness only correlates with AI, so a careful Tailwind page and a lazily prompted one land in the same band. The markup and accessibility findings are defensible because each one walks you to a real element you can go argue with. A score for AI authorship is the one number nobody can check, which makes it the one most likely to be quietly wrong.
LoupeKit
@asadmalik901 You're right, and Tailwind is the exact case that breaks it: utility density is evidence of a framework, not of an author. Sloppiness correlates with lazy prompting, and correlation is not what a number presented as a verdict implies.
What I'd push back on is only the framing of the score as a classifier. Every finding names the signal that produced it and the rule behind it, and the Findings and Signals views exist so the score can be taken apart rather than trusted — that's the same "walk me to the thing" property you're crediting the markup findings with. Where you're right is the aggregate: one number on top is the only output in that tab nobody can falsify, and it's doing the most rhetorical work.
Two changes I'd rather make than defend it. A framework-aware baseline, so a page that fingerprints as Tailwind isn't charged for utility class density. And demoting the single number, because the defensible artefact is the list underneath it.
Which signals would you drop first? If they're the ones I suspect, that's a short list and a good afternoon's work.
Softorino 💻📲
The site I do SEO for has dozens of near-identical format pages, MKV to MP4, MOV to MP4 and so on, templated on purpose rather than written by a model. Does your score separate formulaic-by-design from actually generated, or would a page like that light up red?
the click-to-element part is probably my favorite. much easier to judge a finding when you can actually see what triggered it.