rayform · analytics → UI · private beta

Ship the fix
the week you notice it.

Rayform watches your analytics, drafts UI variants for the cohorts where metrics sag, and ships them at runtime. No codebase changes. No sprint. One script tag.

statusprivate beta
first pilotsQ3 2026
p99 runtime<20ms · 99.9% SLA
readsAmplitude · Mixpanel · Segment · PostHog
built for
acme.app / pm-console illustrative
01 signal detected −12%
day-1 activation mid-market
02 variant drafted rayform
reason collapse 3 unused fields · promote CRM import
03 shipped · live live
activation · recovering 0 PRs · 0 deploys
cohort mid-market · day_1 · 412 accounts runtime no codebase change · kill-switch: 1 click outcome +14% activation · illustrative
loop
how it works

Four steps. One script tag. Runtime, not a deploy.

01

Connect analytics

OAuth a read-only token to the warehouse you already have. We don't emit new events or ask eng for a sprint.

02

Install the SDK

One <script> tag, or a server-render proxy for SSR apps. <14KB gzipped. p99 resolve <20ms. Your codebase stays where it is.

03

Review variants

Rayform drafts 2–3 variants for the cohort with a reason and an expected metric. You pick one from the console or Slack.

04

Ship & measure

Variant goes live to that cohort only. The uplift (or regression) reports back next to the reason you approved it.

step 02 · in detail

How a variant ships without touching your codebase.

acme.app / onboarding runtime
tick · 0
<Page>
<Header />
data-rf="onboarding.step1"
OnboardForm · default
<Footer />
rayform · runtime tenant: acme
00 page loads · rf.js boots
01 visitor resolved → cohort: mid-market · day_1
02 policy: onboarding.step1 → variant v.lite
03 fetch from your component registry · cached
04 render inside declared slot · no DOM rewrite outside slot
05 axe a11y pass · CSP respected · telemetry echoes back
0 deploys 0 git changes p99 <20ms
01 Slots, not screens. Rayform only renders inside elements you mark. It never invents chrome or touches anything you didn't offer.
02 Your library, your constraints. Variants compose components from your registry. axe runs before ship. Tokens/theme respected.
03 Runtime, reversible. Turn Rayform off and every user sees the default. Git history is untouched.
built for

Pick your angle.

01 · signal
Analytics drops.
Day-1 activation falls 12% in mid-market. Your Amplitude stream triggers Rayform.
02 · variant
Rayform drafts 3 fixes.
Each with a reason and a predicted metric. You pick one from Slack or the console. No spec, no ticket.
03 · shipped
Live to that cohort.
412 accounts see the new UI. 0 PRs. 0 deploys. Kill-switch reverts everything in one click.
0 codebase changes
0 sprints consumed
0 A/B tests written
1 click to kill-switch
preview · interactive mockup

Same app. Three users. Three interfaces.

acme.app rayform
Events weighted · day_1
note This is a scripted preview, not a live tenant. Numbers and variants are illustrative.
what it replaces · what it works with

Your stack, unchanged.

reads · OAuth · read-only
Amplitude Mixpanel Segment PostHog
ingests
Rayform
per-tenant p99 <20ms
ships through
output · your existing toolchain
Slack LaunchDarkly Your app · runtime
read-only token
Rayform reads; nothing writes back to your warehouse.
per-tenant enclave
Your events never train shared models. Retention 30 days by default.
SOC 2 Type I
Target Q4 2026. Pentest report on request at beta sign-up.
kill-switch
One toggle reverts every surface to default. Git untouched.
sectors · use cases

Works wherever users drop off.

B2B SaaS
Onboarding & Activation
signal step 3 · −18%
v.lite
variant 2 fields
+18%
outcome activation

Step 3 asks 5 fields at once. Rayform shows 2 for first-session cohort; the rest deferred to session 2.

NotionLinearVercelFramer
E-commerce
Checkout & Conversion
signal confirm · −72%
v.express
variant 1 screen
+63%
outcome checkout rate

Mobile buyers abandon at the confirmation step. Rayform merges address and payment into one Express Pay screen.

ShopifyBoltRechargeGorgias
Fintech
KYC & Trust Flow
signal KYC 2 · −41%
v.focus
variant 1 task · progress
+41%
outcome KYC completion

KYC step 2 shows all 3 tasks at once. Rayform focuses one task with a progress bar for the new-account cohort.

PlaidBrexMercuryWise
Consumer App
Retention & Re-engagement
signal D30 · −28%
v.resume
variant last context
+28%
outcome D30 retention

Day-30 retention drops for gap returners. Rayform surfaces last activity and 3 new features since they left.

DuolingoStravaHeadspaceCalm
pricing · results first

You pay when it works. Nothing if it doesn't.

Beta
Free
for the first cohort of pilot teams
  • Up to 3 live cohorts
  • Weekly 1:1 with the founder
  • Full console · all integrations
  • Graduates to Team at GA, on your terms
Request access
Team at GA
Pay on uplift
charged on confirmed metric improvement · no uplift, no charge
  • Zero charge if variant is flat or negative
  • Cost shown before you approve any variant
  • Unlimited cohorts, variants, and surfaces
  • Slack + console · rollback history · audit log · SSO
Join the waitlist
Enterprise
Talk to us
for regulated data or custom SLA
  • Dedicated enclave & data residency
  • Custom retention, DPA, security review
  • Policy-bounded auto-ship
  • Direct channel to engineering
Email us

We charge on the metric improvement we actually deliver. No per-seat tax, no per-event billing. If the variant doesn't move the number, you owe nothing.

request access

Tell us which flow you'd rewrite first.

honeypot-filtered · no captcha · no marketing pixel
A one-line <script> tag (or an SSR proxy). Rayform only renders inside elements your team marks with data-rf. It never rewrites the rest of the DOM, never invents new components, never modifies git. Kill-switch reverts all surfaces in one click.
Flag platforms execute a variant you already have, for a cohort you already named. Rayform sits upstream: it picks both from your event stream and hands the decision to your flag system — or renders directly if you don't have one.
One <script> tag or npm install @rayform/sdk. Under 14KB gzipped. p99 resolve time under 20ms. CSP-compliant. axe a11y runs on every variant before it ships — variants that fail are rejected automatically. React, Next.js, Vue, Vanilla JS, SSR proxy all supported.
Beta is free for pilot teams. At GA, we charge on confirmed metric uplift — if the variant doesn't move the number, you pay nothing. No per-seat, no per-event, no per-surface fee. The cost estimate is shown to you before you approve any variant.
Built by Vishal Singh · I read every submission and reply personally. First pilots ship Q3 2026.