Docs · v0.1 beta

Ship a winning landing page without touching the dashboard.

Splitstream connects to your repo, generates conversion-optimised variants, splits live traffic 50/50 between control and challenger, and merges the winner to main when you approve. Real PRs, real version control, no DOM overlay.

How it works
01
Connect

Authorise the Splitstream GitHub App on a single repo, the Vercel integration on the project that deploys it, and your PostHog project for conversion tracking.

02
Install

Splitstream opens a one-time PR adding a small middleware (Next.js) or client snippet (Vite/React) plus a PostHog tag for the variant cookie. You review and merge it.

03
Generate

Splitstream reads your landing page and writes a variant. The change passes lint, typecheck, and build before a PR is opened. Vercel auto-builds the preview deployment.

04
Split

Production traffic splits 50/50 between your main branch (champion) and the variant preview (challenger). Bots always see the champion.

05
Promote

When a winner is statistically significant and the guardrails are clean, you click approve and Splitstream merges the variant PR. Auto-rollback is available within seven days.

Integrations
GitHub
contents:write · pull_requests:write · metadata:read

Scoped to one repo. Reads source, opens PRs, never force-pushes, never modifies protected branches.

Vercel
project:read · deployment:read

Read-only. Used to find the preview deployment URL of each variant PR so the middleware knows where to rewrite B traffic.

PostHog
personal API key (read-only)

Used to query conversion counts via HogQL, grouped by the splitstream_variant property. We never read individual events.

What we add to your repo

One PR, opened against the branch you choose. You review, merge, deploy normally. Every subsequent variant is a new PR. Never a force-push, never a direct commit.

FAQ
Do you ever push to main without me clicking?

No. Splitstream only opens PRs. Merging is always a human action by a workspace owner or admin. Auto-rollback uses revert PRs, also requiring approval unless you opt into automatic rollback for production-down guardrail breaches.

What happens if I disconnect Vercel mid-experiment?

Running experiments freeze: the middleware keeps respecting whatever cookie a visitor already has, but no new assignments and no winner promotions occur until you reconnect or end the experiment.

Does it work without Next.js?

Yes. Vite + React is supported. The trade-off is that the split runs client-side, which means B-cohort visitors briefly see your main URL before being redirected to the variant preview URL. Server-side rewrite (transparent to the visitor) is only available on Next.js today.

Can I run multiple experiments in parallel?

On the same landing page, no. That's by design, to keep the statistical model honest. Across different landing pages, yes.

Ready when you are.

Onboarding takes about five minutes. Most of it is GitHub and Vercel asking permission to do read-only things on your account.

Docs · Splitstream