saas · Sep 17, 2026

windsurf.com

We found more conversion tactics here than on 86% of the 1,350 multi-step SaaS funnels we have measured.

7 conversion tactics detected

3 pages walked · measured by Roentgen 1.27.0

Put this x-ray to work Brief your AI X-ray your funnel
How this was measured

Measured by Roentgen 1.27.0 on 2026-09-17. A capture is read once and its measurements freeze there, so the stamp says which ruleset read this one.

This 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. A low count means we did not detect those patterns, not that the funnel is weak.

Against all 1,781 multi-step funnels, more conversion tactics than 88% of them.

The short version, in 5 parts

  1. Proven on the page

    7 conversion tactics detected, each backed by text on the page

    Answers buyer objections
    Frequently Asked Questions
    Puts proof in the first viewport
    Waiting for review 2
    Offers a free trial or free tier
    Free plan

    + 4 more with evidence

    See all 7

  2. Not seen

    4 of 11 applicable tactics we checked for and did not see

    Press / "as seen in"
    Media logos or an "as seen in / featured in" claim borrowing publication credib…
    Us-vs-them comparison
    A comparison table framing the brand against alternatives.
    Lead-capture form
    An on-page form collecting contact details (email / name / phone) outside a che…

    + 1 more

    See what we looked for

  3. Flagged

    5 of 15 build checks flagged, each with a fix

    Text contrast (WCAG AA)
    88% of measurable text passes WCAG AA. 4+ runs fail.
    Body text size
    Smallest sampled text is 11px, below the 13px floor this check uses.
    Render-blocking resources
    16 stylesheets/scripts in <head> block first paint.

    + 2 more

    See the fixes

  4. Walked

    3 pages walked, Homepage / Lander to Pricing

    Step 1
    Homepage / Lander
    Step 2
    Customers
    Step 3
    Pricing

    Walk it frame by frame

  5. In their words

    The headline: Devin Desktop

    Promise
    Manage fleets of local and cloud agents from one surface. Plan, delegate, review, and ship without leaving yo…
    Prices shown
    $0 · $20 · $200

    Read every quote

Captured Homepage / Lander
Step 1 · Homepage / Lander1 / 3

What we recorded

The funnel, frame by frame

3 steps walked

see their whole funnel without clicking through it. scored step by step

measuredextracted directly from the live page. a fact, not an opinion
Homepage / Lander
01

Homepage / Lander

4 tactics

$0 +4 more  ·  subscription

FAQLogo wallPricing tiersDemo / docs
Customers
02

Customers

▼ thinnest
4 tactics
Sticky CTALogo wallUsage proofDemo / docs
Pricing
03

Pricing

▲ strongest
5 tactics

$0 +4 more

Sticky CTAFAQFree trialPricing tiersDemo / docs

In their own words

34 quoted

the entry page’s own title, headline, buttons and prices — quoted, never paraphrased

measuredextracted directly from the live page. a fact, not an opinion
Page title
Devin Desktop | Devin
Meta description
Manage fleets of local and cloud agents from one surface. Plan, delegate, review, and ship without leaving your editor.
Headline
Devin Desktop
Section headings
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 ACPTeams building with Devin DesktopMake Devin Desktop your ownSo good you can't work without itLearn about our plans+6 more, not shown
Buttons and links
ProductSolutionsResourcesDownload for MacOSSWE-2 MaxDevin LocalDevin CloudCodexClaude AgentOpenCode+2 more, not shown
Prices on the page
$0$20$200$80$40

What we found

7 tactics

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

objection1 of 2

Answers buyer objections Frequently Asked Questions

proof3 of 4

Puts proof in the first viewport Waiting for review 2
Shows customer logos or a trusted-by claim trusted by
Puts a number on adoption 1,800 Repos

offer2 of 2

Offers a free trial or free tier Free plan
Makes the pricing ladder explicit free, $80/mo, $40/mo

checkout1 of 2

Offers a demo or docs entry point Get a Demo

What we didn’t find

4 of 11 applicable

applicable tactics we checked for and did not see on any step we reached

measuredextracted directly from the live page. a fact, not an opinion

What we didn’t see4 of 11 applicable

Press / "as seen in" 642 of the 2,417 funnels we checked
Us-vs-them comparison 441 of the 2,420 funnels we checked
Lead-capture form 437 of the 1,683 funnels we checked
Scarcity / urgency copy 125 of the 2,417 funnels we checked

Absence 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.

How well it’s built

15 run · 5 flagged

contrast, mobile, typography, accessibility, weight — each with what would fix it

measuredextracted directly from the live page. a fact, not an opinion

5 of 14 measured checks need work1 could not be measured — not counted either way

Text contrast (WCAG AA)

contrast:text-contrast-wcag-aa

88% of measurable text passes WCAG AA. 4+ runs fail.

worst: “120” at 1.56:1 (13px, #cfcfcf on #ffffff). needs 4.5:1

FixRaise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy.

Body text size

type:body-text-size

Smallest sampled text is 11px, below the 13px floor this check uses.

FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.

Render-blocking resources

weight:render-blocking-resources

16 stylesheets/scripts in <head> block first paint.

FixDefer non-critical JS (defer/async) and inline only critical CSS.

Oversized images

weight:oversized-images

20 images are shipped at more than 2x the width shown.

“harvey.svg” is 3022px wide, displayed at 73px

FixServe responsive sizes (srcset/sizes) matching the rendered width.

Landmark regions

structure:landmark-regions

No <main> or <header> landmark. screen-reader users cannot jump between regions.

FixWrap the page in <header>, <main> and <footer> (or matching ARIA roles).

Worth knowing6

Line length

1 paragraph runs past ~95 characters per line.

FixCap measure at ~60-75ch for comfortable reading.

type:line-length
Form labels

1 form field relies on placeholder text as the only label.

FixBack placeholders with a real <label>. placeholder text vanishes on input.

a11y:form-labels
Heading levels

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:heading-levels
Keyboard reachability

152 elements look clickable but cannot be reached by keyboard.

FixUse <button>/<a>, or add role + tabindex="0" and a key handler.

structure:keyboard-reachability

Not measurable1

Page weight

At least 1.8 MB across 167 measurable resources, but 155 cross-origin resources did not expose a size. The true weight cannot be determined from the page.

weight:page-weight

Clear3

Mobile viewport · Language declared · Image alt text

This funnel: 88% of text passes AA · top corpus funnels average 93%.

Brand kit

5 colour roles

palette by on-page usage · type rendered live

measuredextracted directly from the live page. a fact, not an opinion
full palette ordered by on-page usage %
accent#f7f6f5
bg#f7f6f5
surface#ffffff
text#191919
See the roles applied
accent

Body copy in their text role, on a surface card.

the roles, doing their job
The quick brown fox80px
Jumps over the lazy dog64px
A subheading in their voice40px

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.

  • List item one, at body scale
  • List item two
  • List item three
Type scale, weights & families
SIZE SCALE
11pxAa
12pxAa
13pxAa
14pxAa
15pxAa
16pxAa
20pxAa
32pxAa
40pxAa
64pxAa
80pxAa
WEIGHTS
Aa400
Aa500
FAMILIES
nbInternationalPro
rendered in their own type system · webfont not loaded. system fallback if uninstalled

Measured, found none

2 of 8 layers

layers we ran on this funnel that came back empty

measuredextracted directly from the live page. a fact, not an opinion

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.

Similar crawls