jank.ai
All test types Pricing Sign up free
Foundation test · runs on every audit 1 credit/page

Page Analysis.

A vision-capable LLM (Claude / GPT-4o / Gemini 2.x) audits a full-page screenshot together with the rendered HTML, captured console messages, and a network-traffic summary. Returns a numerically scored list of issues across eight categories — the baseline every other test type builds on.

What it does analyzePage()

Playwright loads the URL in headless Chromium (stealth-patched: real Chrome 126 UA, navigator.webdriver patched, no jank fingerprints). After DOMContentLoaded plus a 10s networkidle ceiling, the runner captures a full-page JPEG, the post-render HTML, the console stream (capped at 2,000 chars per message), and a network summary (URLs, methods, statuses — never headers or bodies). All of that goes to the configured LLM with a structured prompt. The model returns strict JSON: a 0–100 score, an array of issues, and a one-line summary. Each issue has a category, severity, confidence (1–10), priority (1–10), affected selector, and a suggested fix.

What it finds

Concrete examples from a real run:

Coverage

Breadth
8 categories: visual, usability, performance, reliability, security, accessibility, content, SEO
Depth
Vision LLM sees the rendered pixels + the DOM + the network behaviour together — catches things pure-static analyzers miss
Viewport
Desktop (1366×900). Mobile + tablet captured in the responsive phase that follows
Throughput
~45–90s per page, including capture and LLM call

Sample finding

// One entry from report.analysis.issues[]
{
  "category":    "reliability",
  "severity":    "high",
  "title":       "Uncaught TypeError in analytics.js:142",
  "description": "Pageviews trigger 'Cannot read properties of undefined (reading \\'session\\')'.\nTelemetry is silently failing on every visit — A/B test data + funnel attribution\nis incomplete from this date forward.",
  "selector":    null,
  "confidence":  9,
  "priority":    8,
  "interestingness": 7,
  "evidence":    ["console.log: TypeError @ analytics.js:142"],
  "prompt_to_fix_this_issue": "Open analytics.js around line 142.\nThe code reads `window.user.session.id` — `window.user` is undefined for\nsigned-out visitors.  Add a null-check, or initialise window.user early."
}

See also

Compliance
Accessibility / WCAG 2.2 →
Quick a11y wins surface here; the full per-criterion WCAG audit runs in the dedicated phase.
Agentic
Exploratory Agent →
Catches interactive bugs (dead ends, missing validation) that a static analyzer can't.
Run a free audit → All seven test types