Hands-off, lightweight A/B testing

Find out which version of your product works better

A/B test screens and features on real users. Or let your AI agent run the test and name the winner.

Optimize for the events that drive your ads

Experiments measure the same in-app events as your deep link analytics. Improve the screens that turn ad clicks into purchases.

A/B tests and feature flags, right in your code

Variants as files

Save a second version of a component next to the original. Your imports stay the same.

src/components/
├── Paywall.A.tsx
└── Paywall.B.tsx

import Paywall from "./components/Paywall";

Feature flags

Roll a change out gradually, or turn it off instantly.

const { enabled } = useFeatureFlag({
  flagKey: "new-paywall",
  defaultValue: false,
});

return enabled ? <NewPaywall /> : <OldPaywall />;

Run experiments from your AI agent

The Detour MCP server works with Claude Code and Cursor. Your agent can set up variants, check results and conclude tests.

Prefer the terminal? Every step is also a CLI command.

  • darwin new --name Paywall --component src/Paywall.tsx --metric purchase
  • darwin update Paywall --rollout 50
  • darwin stats Paywall
  • darwin conclude Paywall --winner B

Everything you need to run A/B tests

Verdicts, not p-values

A plain verdict for every test: ship B, keep A, keep running, or no difference.

Expo Router

Side-by-side screens

Capture each variant from a real simulator and compare them in the dashboard. Every test you run makes the next one smarter.

Multi-variant tests and rollouts

Test more than two versions at once. Set the traffic split and change the rollout anytime.