Smallest body text is 12px (base ~16px). below the ~16px readable floor.
fix Keep body copy ≥15-16px; reserve sub-13px for fine print only.
saas · Aug 15, 2026
80/100 Strong
Scores above 94% of 1,252 multi-step funnels we have measured. Among the 959 saas funnels in that group, above 93%.
Coverage is detection coverage, not a verdict — it counts the conversion tactics we could prove are present, out of the 11 that apply to a saas funnel.
Measured by Roentgen 1.25.1, one of our versioned rulesets. A capture is read once and its measurements freeze there, so the stamp says which ruleset read this one.
Walk 96 links seen, 78 walkable, 1 matched, and we walked 2 pages.
this funnel’s coverage score across measured re-scans
measuredextracted directly from the live page. a fact, not an opinionthe entry page’s own title, headline, buttons and prices — quoted, never paraphrased
measuredextracted directly from the live page. a fact, not an opinionPinggy - Simple Localhost Tunnels
Pinggy is the simplest way to bring your localhost projects online. It the the fastest way to create secure tunnels to localhost with a public url.
Public URLs for Localhost.
Subscribe to the easiest localhost tunneling.
$ 0/month
$ 2.50/month
$ 3.00/month
Configure your free tunnel
Quickest way to share your w
Share your websites and apps in seconds.
Debug on the go.+10 more, not shown
Download
Compare
Use Cases
Help
Dashboard
Start 7 days free trial
Or just try it for free →
Advanced Settings
Docs
Quickstart+2 more, not shown
$ 0
$ 2.50
structural bands identified on this funnel, cropped from its own capture
measuredextracted directly from the live page. a fact, not an opinion
conversion tactics we could prove are present, with the on-page text that evidences each
measuredextracted directly from the live page. a fact, not an opinion$3/mo, $10/mo
Free Trial
email, select, text, textarea
Documentation
logos: jupyter, django, apache, drupal, flask
It is asking for password. On Windows tunnel cannot reach localhost The command uses SSH.
Free Trial
comparison table: Feature · Pinggy (Pro) · Ngrok (Personal)
applicable tactics we checked for and did not see on any step we reached
measuredextracted directly from the live page. a fact, not an opinionAbsence is a measurement, not a recommendation: we do not know why a tactic is missing, whether it belongs here, or whether adding it would change anything. Where a walk stopped early, a tactic living deeper would also read as not detected.
contrast, mobile, typography, accessibility, weight — each with what would fix it
measuredextracted directly from the live page. a fact, not an opinion95% of measurable text passes WCAG AA.
Responsive viewport meta is present.
Smallest body text is 12px (base ~16px). below the ~16px readable floor.
fix Keep body copy ≥15-16px; reserve sub-13px for fine print only.
28 paragraphs run past ~95 characters per line.
fix Cap measure at ~60-75ch for comfortable reading.
html[lang] is set for screen readers.
All 79 content images carry alt text.
1 of 7 form fields have no label (+1 rely on placeholder only).
fix Give every input a <label> or aria-label; placeholders are not labels.
26 buttons/links have no accessible name (icon-only, no aria-label).
fix Add aria-label to icon-only buttons and links.
5 links use generic text (“click here” / “learn more”).
fix Make link text describe its destination out of context.
The landing page has 6 <h1> elements (expected 1).
fix Use exactly one <h1> as the page’s title.
3 headings skip a level (e.g. <h2> followed by <h4>). Screen-reader users navigate by this outline.
fix Step heading levels one at a time; use CSS for size, not a deeper level.
No same-page “skip to content” link was found. Keyboard users tab through the whole nav on every page.
fix Add a first-in-DOM <a href="#main"> that is visible on focus.
At least 1.2 MB across 68 measurable resources, but 37 cross-origin resources did not expose a size. The true weight cannot be determined from the page.
3 stylesheets/scripts in <head> block first paint.
fix Defer non-critical JS (defer/async) and inline only critical CSS.
65 images are shipped at more than 2x the width shown.
“pinggy_logo.webp” is 1000px wide, displayed at 90px
fix Serve responsive sizes (srcset/sizes) matching the rendered width.
No <main> or <header> landmark. screen-reader users cannot jump between regions.
fix Wrap the page in <header>, <main> and <footer> (or matching ARIA roles).
No autocomplete attributes across 2 fields. browsers cannot autofill.
fix Add autocomplete="email"/"tel"/"name" to identity fields.
which funnel play this page runs — measured, evidence-quoted
deriveda deterministic summary generated only from measured facts. labeled, never an LLM guessComparison surface matches the Intent-Match pattern — measured comparison table plus comparison-intent copy
p2: comparison table: Feature · Pinggy (Pro) · Ngrok (Personal)comparison copy
Pinggy vs Ngrok: The Best Localhost Tunneling Tools
A match means this funnel's measurable surfaces fit the playbook's pattern — the quoted language is what fired the detection. A lever is one playbook mechanism observed on-page. We never claim what a brand's ads or emails do; a crawl can't see them. All funnel designs →
Two different things sit side by side here. The claim and its quoted evidence are measured on this funnel, the same way every other fact on this page is. The playbook itself is written guidance — our strategy library, not a measurement of this site — and it lives behind the links above. Nothing on this page recommends what this brand should do.
palette by on-page usage · type rendered live
measuredextracted directly from the live page. a fact, not an opinionBody copy in their text role, on a surface card.
Body copy set at their measured paragraph size. This is how their product reads to a first-time visitor. same family, same scale, same weight.
We also looked for Elements, and found none on this funnel.