Body text size
type:Smallest body text is 9px (base ~14px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
saas · Aug 18, 2026
50/100 Thin
Scores higher than 49% of 1,391 multi-step funnels we have measured. Among the 1,074 saas funnels in that group, higher than 38%.
Measured by Roentgen 1.25.1 on 2026-08-18. A capture is read once and its measurements freeze there, so the stamp says which ruleset read this one.
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. Per device: desktop 50 · mobile 50.
Walk 173 links on the entry page, 154 walkable. 6 matched a funnel step; we captured 4 pages in all, this one included.
see their whole funnel without clicking through it. scored step by step
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 opinionProduct Hunt Launch Network — Verified Launch Support — LaunchPact
LaunchPact is a Product Hunt launch support network where founders form mutual pacts before launch day. Free to join — real makers, screenshot proof, no bought votes.
Launching on Product Hunt alone is brutal. Launch with a crew that upvotes for real.
Product Hunt is tough.
LaunchPact is your launch fuel.
Founders already building launch momentum
Real founders. Real upvotes. Real results.
From listing to launch day glory in 5 steps
See exactly what you're signing up for
A great launch puts your product in front of thousands — if founders show up for you
The launch is one day. The upside isn't.+8 more, not shown
Sign in
Get started
Form pacts. Get verified upvotes
See how it works
Find your launch crew →
List your PH launch date
Browse feed
Pact inbox
Verify upvote
Trust profile+2 more, not shown
$24
$15
$19
structural bands identified on this funnel, cropped from its own capture
measuredextracted directly from the live page. a fact, not an opinion
the atomic pieces — price anchors, ratings, guarantees — with their verbatim on-page text
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 opinionfree, $19/mo
free tier
logos: LaunchPact, Atlas profile photo, Alice Bull profile photo, BOMwise profile photo, F
Got questions? We've got answers.
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 opinion8 of 15 measured checks need work
87% of measurable text passes WCAG AA. 4+ runs fail.
worst: “LaunchPact” at 1.02:1 (18px, #fffbf6 on #fff8f0). needs 4.5:1
FixRaise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy.
Smallest body text is 9px (base ~14px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
1 button/link has no accessible name (icon-only, no aria-label).
FixAdd aria-label to icon-only buttons and links.
At least 7.4 MB across 403 measurable resources. 180 cross-origin resources did not expose a size, so the real total is higher.
FixCompress and lazy-load below-the-fold media; drop unused third-party scripts.
20 stylesheets/scripts in <head> block first paint.
FixDefer non-critical JS (defer/async) and inline only critical CSS.
167 images are shipped at more than 2x the width shown.
“1ae2c5a2-d6aa-4980-a98e-5c7ff909f463.jpg” is 1920px wide, displayed at 286px
FixServe responsive sizes (srcset/sizes) matching the rendered width.
No <main> or <footer> landmark. screen-reader users cannot jump between regions.
FixWrap the page in <header>, <main> and <footer> (or matching ARIA roles).
205 of 377 interactive targets are under 44×44px on mobile.
smallest: “Home” at 37×20px
FixGive tappable controls a ≥44×44px hit area. the touch minimum.
46 paragraphs run past ~95 characters per line.
FixCap measure at ~60-75ch for comfortable reading.
type:1 heading skips a level (e.g. <h2> followed by <h4>). Screen-reader users navigate by this outline.
FixStep heading levels one at a time; use CSS for size, not a deeper level.
a11y:No same-page “skip to content” link was found. Keyboard users tab through the whole nav on every page.
FixAdd a first-in-DOM <a href="#main"> that is visible on focus.
a11y:21 elements look clickable but cannot be reached by keyboard.
FixUse <button>/<a>, or add role + tabindex="0" and a key handler.
structure: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.
layers we ran on this funnel that came back empty
measuredextracted directly from the live page. a fact, not an opinionPlaybook match — which funnel play this page runs — measured, evidence-quoted
We ran this pass on the pages we captured and found nothing to show. That is a measurement of this funnel, not a recommendation — and it is a different statement from a layer we never ran, which does not appear here at all.