Body text size
type:Smallest body text is 12px (base ~14px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
content · Aug 30, 2026
35/100 Sparse
Scores higher than 25% of 1,391 multi-step funnels we have measured.
Measured by Roentgen 1.27.0 on 2026-08-30. 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 7 that apply to a content funnel. Per device: desktop 35 · mobile 35.
Walk 27 links on the entry page, all walkable. 1 matched a funnel step; we captured 2 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 opinionPromote.chat - Autonomous AI Marketing Agent for Vibe-Coded Products
Promote.chat is a marketing agent that runs Reddit, X, LinkedIn, Google Ads, SEO, UGC video and cold email campaigns for vibe coders, solo developers and indie hackers.
How can your AI marketing agent help you today?
Promote Your Vibe-Coded Products on Autopilot
Try these starter prompts
Multi-Channel Social Mentions (Reddit, X, LinkedIn)
Multi-Format Content Generation
SEO & AI Search Visibility (GEO)
Landing Page Conversion Optimization
Upcoming Agent Skills
Frequently Asked Questions
New chat
Report Bug
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 opinionlogo wall (7 distinct marks)
Frequently Asked Questions
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 opinion5 of 15 measured checks need work1 could not be measured — not counted either way
Smallest body text is 12px (base ~14px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
6 buttons/links have no accessible name (icon-only, no aria-label).
FixAdd aria-label to icon-only buttons and links.
6 images are shipped at more than 2x the width shown.
“featured-badge.png?v=2” is 600px wide, displayed at 120px
FixServe responsive sizes (srcset/sizes) matching the rendered width.
No <main> or <header> landmark. screen-reader users cannot jump between regions.
FixWrap the page in <header>, <main> and <footer> (or matching ARIA roles).
54 of 70 interactive targets are under 44×44px on mobile.
smallest: “X” at 10×16px
FixGive tappable controls a ≥44×44px hit area. the touch minimum.
16 paragraphs run past ~95 characters per line.
FixCap measure at ~60-75ch for comfortable reading.
type:2 form fields rely on placeholder text as the only label.
FixBack placeholders with a real <label>. placeholder text vanishes on input.
a11y:2 headings skip 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:No autocomplete attributes across 2 fields. browsers cannot autofill.
FixAdd autocomplete="email"/"tel"/"name" to identity fields.
forms:At least 0.7 MB across 21 measurable resources, but 33 cross-origin resources did not expose a size. The true weight cannot be determined from the page.
weight:Text contrast (WCAG AA) · Mobile viewport · Language declared · Image alt text · Render-blocking resources
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 opinionSections — structural bands identified on this funnel, cropped from its own capture
Elements — the atomic pieces — price anchors, ratings, guarantees — with their verbatim on-page text
Playbook match — which funnel play this page runs — measured, evidence-quoted
We ran these passes 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.