saas · Sep 23, 2026

granite.so

4 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-23. 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.

Walk 45 links on the entry page, 32 walkable. 2 matched a funnel step; we captured 3 pages in all, this one included.

The short version, in 5 parts

  1. Proven on the page

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

    Answers buyer objections
    How are you different from other hosting providers?
    Shows customer logos or a trusted-by claim
    logo wall (4 distinct marks)
    Offers a demo or docs entry point
    Documentation

    + 1 more with evidence

    See all 4

  2. Not seen

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

    Free trial / freemium
    A free trial, free tier, or "no credit card" entry offer.
    Pricing tiers
    Named plan tiers with per-month / per-seat pricing.
    Press / "as seen in"
    Media logos or an "as seen in / featured in" claim borrowing publication credib…

    + 4 more

    See what we looked for

  3. Flagged

    4 of 14 build checks flagged, each with a fix

    Body text size
    Smallest sampled text is 12px, below the 13px floor this check uses.
    Render-blocking resources
    13 stylesheets/scripts in <head> block first paint.
    Landmark regions
    No <header> or <footer> landmark. screen-reader users cannot jump between regions.

    + 1 more

    See the fixes

  4. Walked

    3 pages walked, Homepage / Lander to Products

    Step 1
    Homepage / Lander
    Step 2
    Pricing
    Step 3
    Products

    Walk it frame by frame

  5. In their words

    The headline: Your production stack. Solid as granite.

    Promise
    Deploy apps, managed PostgreSQL, MySQL, MongoDB and Valkey, S3-compatible storage and a private Docker regist…
    Prices shown
    $9 · $15 · $39

    Read every quote

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

What we recorded

Progress

3 scans

this funnel’s coverage score across measured re-scans

measuredextracted directly from the live page. a fact, not an opinion
Unchanged across 3 scans Same 4 conversion tactics detected since 2026-08-09.
  1. 4 tactics 2026-08-09
  2. 4 tactics 2026-08-12
  3. 4 tactics 2026-09-23

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

▲ strongest
5 tactics

$9 +5 more

CountdownFAQTrust badgesLogo wallDemo / docs
Pricing
02

Pricing

▼ thinnest
2 tactics

$9 +9 more  ·  subscription

FAQDemo / docs
Products
03

Products

3 tactics
CountdownFAQDemo / docs

In their own words

29 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
Cloud Infrastructure for Startups • Granite.so
Meta description
Deploy apps, managed PostgreSQL, MySQL, MongoDB and Valkey, S3-compatible storage and a private Docker registry on one managed platform. No servers to run. See the pricing.
Headline
Your production stack. Solid as granite.
Section headings
How are you different from other hosting providers?How to install X on server?I need to run a command in the console. How do I do that?How does it work?Why do you use docker?Which Docker image registry should I use?How secure is it to use your managed databases?What databases do you currently support?
Buttons and links
SolutionsPricingBlogDocumentationSign InSign UpDeployStart nowGet startedCompare all plans+2 more, not shown
Prices on the page
$9$15$39$50$149$200

Sections

6 identified

structural bands identified on this funnel, cropped from its own capture

measuredextracted directly from the live page. a fact, not an opinion
Hero section of granite.so
Hero1% down the page
Features section of granite.so
Features31% down the page
Pricing section of granite.so
Pricing55% down the page
FAQ section of granite.so
FAQ65% down the page
Email capture section of granite.so
Email capture90% down the page
Footer section of granite.so
Footer96% down the page

What we found

4 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 How are you different from other hosting providers?

proof1 of 4

Shows customer logos or a trusted-by claim logo wall (4 distinct marks)

checkout2 of 2

Offers a demo or docs entry point Documentation
Lead-capture form email, email

What we didn’t find

7 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 see7 of 11 applicable

Free trial / freemium 1,340 of the 1,673 SaaS funnels we checked
Pricing tiers 873 of the 1,673 SaaS funnels we checked
Press / "as seen in" 642 of the 2,417 funnels we checked
Us-vs-them comparison 441 of the 2,420 funnels we checked
Proof above the fold 381 of the 2,420 funnels we checked
Usage / adoption proof 289 of the 2,043 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

14 run · 4 flagged

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

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

4 of 13 measured checks need work1 could not be measured — not counted either way

Body text size

type:body-text-size

Smallest sampled text is 12px, 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

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

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

Landmark regions

structure:landmark-regions

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

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

Tap-target size (mobile)

mobile:tap-target-size-mobile

111 of 153 interactive targets are under 44×44px on mobile.

smallest: “(unnamed)” at 32×32px

FixGive tappable controls a ≥44×44px hit area. the touch minimum.

Worth knowing5

Line length

3 paragraphs run past ~95 characters per line.

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

type:line-length
Form labels

3 form fields rely 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

Not measurable1

Page weight

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

weight:page-weight

Clear4

Text contrast (WCAG AA) · Mobile viewport · Language declared · Image alt text

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#000000
bg#fafafa
surface#ffffff
text#dcdcdc
See the roles applied
accent

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

the roles, doing their job
The quick brown fox48px
Jumps over the lazy dog36px
A subheading in their voice24px

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
12pxAa
14pxAa
16pxAa
18pxAa
20pxAa
24pxAa
36pxAa
48pxAa
WEIGHTS
Aa400
Aa500
Aa600
Aa700
Aa900
FAMILIES
Roboto
rendered in their own type system · webfont not loaded. system fallback if uninstalled

Measured, found none

2 of 10 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