Body text size
type:Smallest body text is 11px (base ~16px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
saas · Jul 11, 2026
85/100 Strong
Scores higher than 82% of 1,391 multi-step funnels we have measured. Among the 1,074 saas funnels in that group, higher than 78%.
Captured on 2026-07-11. A capture is read once and its measurements freeze there.
Coverage is detection coverage, not a verdict — it counts the conversion tactics we could prove are present, out of the 9 that apply to a saas funnel. Per device: desktop 85 · mobile 85.
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 opinionDevin Desktop | Devin
Manage fleets of local and cloud agents from one surface. Plan, delegate, review, and ship without leaving your editor.
Devin Desktop
A team of agents for every engineer.
The power of an IDE, exactly when you need it.
All the models, All the agents.
Agents on ACP
Teams building with Devin Desktop
Make Devin Desktop your own
So good you can't work without it
Learn about our plans+6 more, not shown
Product
Solutions
Resources
Download for MacOS
SWE-1.6 Fast
Devin Local
Devin Cloud
Codex
Claude Agent
OpenCode+2 more, not shown
$0
$20
$200
$80
$40
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, $80/mo, $40/mo
proof in first viewport
Free plan
documentation
logos: Devin, Leaderboard ranking SWE-1.6 against other coding models, Ramp logo, Harvey l
1,000 engineers
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 opinion4 of 10 measured checks need work
88% of measurable text passes WCAG AA. 4+ runs fail.
worst: “CTO, Itaú” at 1.05:1 (15px, #fcfcfc on #f7f6f5). 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 11px (base ~16px). below the ~16px readable floor.
FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.
2 buttons/links have no accessible name (icon-only, no aria-label).
FixAdd aria-label to icon-only buttons and links.
69 of 94 interactive targets are under 44×44px on mobile.
smallest: “Devin home” at 28×28px
FixGive tappable controls a ≥44×44px hit area. the touch minimum.
1 paragraph runs past ~95 characters per line.
FixCap measure at ~60-75ch for comfortable reading.
type:1 form field relies on placeholder text as the only label.
FixBack placeholders with a real <label>. placeholder text vanishes on input.
a11y:1 link uses generic text (“click here” / “learn more”).
FixMake link text describe its destination out of context.
a11y:This funnel: 88% of text passes AA · top corpus funnels average 93%.
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.