Worked examples vercel.com
Is vercel.com vibe coded?
The platform whose defaults this whole site is calibrated against. We fetched the homepage on 29 August 2026 and ran all 86 detectors over the raw HTML — the same scan you get from the box on the front page, frozen here so the numbers can be argued with.
vercel.com
Human, AI-assisted
There was a model in the room, but a person was clearly driving.
- Vibe tells
- 9
- Craft tells
- 7
- Confidence
- high
Plenty of signal to work with.
Where the score came from
- Platform fingerprints1 hit
Artefacts of the tool, not of taste
- Colour, type and surface2 hits
The visual defaults, applied unedited
- Layout and architecture2 hits
The shape a page takes when nobody asks what it needs to say
- Copy tells2 hits
How the words were written
- Leftoversnone
Scaffolding never cleaned up
- Source and build1 hit
What is visible in the shipped code
- How it behaves1 hit
Weight, mobile, accessibility, SEO — where the money leaks
- Human craft7 hits
Evidence of deliberate decisions
Evidence
16 findings- +22
v0.dev fingerprints
The page's own assets still point back at v0.
- +10
Emoji doing the work of icons
3 emoji sitting in headings, navigation or list markers. A real icon set requires deciding what each glyph means; emoji let you skip that.
- ✓
- +10
Heavy for what it renders
41 script files and 511 KB of HTML to render 547 words. A full framework, an icon library and an animation library for a page a hundred kilobytes could serve.
- +9
Copy that never says who it is for
547 words, and still no price, no contact route and no named audience. The page describes a category, not a business.
- −9
Deliberate social preview
Open Graph title and image were both authored.
- −9
Skip-to-content link
A keyboard skip link exists. Generators do not do this.
What we read
- title
- Agentic Infrastructure - Vercel
- generator
- —
- server
- Vercel
- status
- 200
- html
- 510.6 KB
- words
- 547
- fetched in
- 205 ms
Reading this score
vercel.com landed on 21/100, which puts it in the human, ai-assisted band. That number is not a percentage and not a probability — it is strength of evidence: 58 points of tells, damped by craft, less 47 points of deliberate decisions, mapped through one logistic curve.
What pushed it up
- v0.dev fingerprints +22 — The page's own assets still point back at v0.
- Emoji doing the work of icons +10 — 3 emoji sitting in headings, navigation or list markers. A real icon set requires deciding what each glyph means; emoji let you skip that.
- Heavy for what it renders +10 — 41 script files and 511 KB of HTML to render 547 words. A full framework, an icon library and an animation library for a page a hundred kilobytes could serve.
- Copy that never says who it is for +9 — 547 words, and still no price, no contact route and no named audience. The page describes a category, not a business.
- Glowing orbs behind a permanently dark page +8 — 50 glow surfaces over a permanently dark ground. Learned from crypto and AI launch pages, where it was atmosphere. Here it decorates nothing.
- Dependency sprawl +8 — 0 third-party asset hosts and 41 script files. Each sub-problem got whatever library was most popular in the training data, and nothing was ever consolidated.
- Everything centred +7 — 10 centred blocks. Long centred text is measurably harder to read, and with no left-aligned anchor the hierarchy flattens.
- The rule-of-three cadence +6 — 3 triplet lists and 0 “not just X — it's Y” constructions. Rhythm borrowed from marketing prose, with none of the content.
What pulled it down
- Deliberate social preview −9 — Open Graph title and image were both authored.
- Skip-to-content link −9 — A keyboard skip link exists. Generators do not do this.
- Hand-written ARIA −7 — 80 explicit accessibility attributes.
- Structured data −6 — JSON-LD is present — somebody thought about search.
- Semantic landmarks −6 — 5 landmark elements instead of a pile of divs.
- CSS custom property system −6 — 119 CSS custom properties — a real token layer.
- Canonical URL −4 — Canonical link is set.
Craft we looked for and did not find
These are the actionable half of the report. None of them are hard, and every one of them would have moved the number.
What this scan cannot see
One request, no JavaScript executed. So everything below is invisible to us, and a page can be excellent or awful at all of it without moving the score:
- Domain registration age — needs WHOIS.
- Whether the nav's /about and /pricing actually resolve — needs a crawl, not one fetch.
- package.json dependency count, orphaned code, clashing abstractions, test coverage — needs the repo.
- Backend security shortcuts: string-built SQL, verify=False, missing auth on endpoints — needs the source.
- Whether row-level security or Firebase rules are actually switched on — needs the project.
- Console errors, hydration warnings and runtime 404s — needs a browser executing the page.
- Real Lighthouse numbers and horizontal scroll at 375px — needs a rendered viewport.
- Whether a JS-handled form posts anywhere — needs a submitted request.