# Find out which version of your product *works better*

> Hands-off, lightweight A/B testing. A/B test screens and features on real users. Or let your AI agent run the test and name the winner.

[Start free](/#get-started) · [Read the docs](https://detour.swmansion.com/docs/)

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

```tsx
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.

```tsx
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.

```sh
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.

### Side-by-side screens (Expo Router)

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.

## Ship your first deep link today

All you need is 10 minutes to get it working.

[Start free](/#get-started)
