Experimently Documentation
Everything you need to build, ship, and measure with confidence.
Getting Started
Run the stack and create your first experiment.
- Quick StartโRun the stack and create your first experiment
- Core ConceptsโFeature flags, experiments, variants, and metrics
- Architecture OverviewโHow the components fit together, and how data flows between them
- FAQโCommon questions answered
- Modules & ProfilesโWhat the core profile includes, what each module adds, and how to run the full profile
Feature Flags
Create flags, target them with rules, and roll them out in stages.
A/B Testing & Experiments
Create and start experiments, read their results, and the statistics behind them.
- Running ExperimentsโEnd-to-end experiment lifecycle
- Dashboard and APIโWhich capabilities have a dashboard screen, and which work through the API only for now
- Statistical MethodsโSequential testing with mSPRT
- CUPEDโVariance reduction from each user's own pre-experiment events (API only)
- Multi-Armed BanditsโThompson Sampling, UCB1, Epsilon-Greedy (create a bandit through the API)
- Split URL TestingโFull profile: store split URL experiments and preview the URL a user id hashes to. The edge router does not split traffic yet.
- Mutual Exclusion GroupsโKeep users out of conflicting experiments, and a share of new users out of every experiment
- Live Results StreamingโLive experiment results over WebSocket: a snapshot on connect, then a fresh one every 30 seconds (by default), whatever the client sends.
LLM / AI Model Evaluation
Compare model variants on a task; the winner has the best business metric when every variant has one, and otherwise the best LLM-judge score.
SDKs
Client libraries for web, mobile and server. The JavaScript SDK is on npm and the Python SDK is on PyPI.
- JavaScript SDKโBrowser and Node.js
- Python SDKโA synchronous Python client with no dependencies
- Java SDKโSpring Boot 3 auto-configuration starter; thread-safe client with a TTL cache
- React SDKโA context provider, hooks and a higher-order component
- Go SDKโA Go client for services: standard library only, goroutine-safe, context-aware.
- iOS Swift SDKโNative Swift SDK for iOS 14+ and macOS 11+, with an async/await API.
- Android Kotlin SDKโNative Kotlin SDK for Android (minSdk 21). Coroutines, OkHttp, Compose examples.
- Flutter SDKโDart SDK for Flutter (iOS, Android, web and desktop). Results are decided by the server, with an offline fallback.
- React Native SDKโuseFlag and useExperiment hooks, Provider, AsyncStorage offline support.
- MCP tool manifestโDescribes the API's tools for AI assistants.
- OpenFeature ProviderโOpenFeature (a CNCF project) providers
- Edge SDKโFor Cloudflare Workers, Vercel Edge and Deno Deploy. Zero runtime dependencies; results cached in memory or KV.
- Ruby SDKโRuby gem with zero runtime dependencies, a thread-safe TTL cache and Net::HTTP.
- PHP SDKโFor PHP 8.1+, installed with Composer; it needs only ext-curl and ext-json.
- .NET SDKโTargets netstandard2.1 and net6.0; System.Text.Json and HttpClient, no other dependencies.
- Elixir SDKโFor Elixir and Phoenix: OTP's :httpc and Jason, with a GenServer-backed ETS cache.
API Reference
How to call the REST API: authentication, and the endpoints with example requests.
- AuthenticationโAPI keys for SDKs, bearer tokens for people
- ExperimentsโList experiments, get one, and get its results
- Feature FlagsโList flags, a user's flags, and archived flags
- Compliance & AuditโFull profile: signed audit events and evidence-report export
- IntegrationsโJira, Salesforce, GitHub webhooks
- All EndpointsโEndpoint reference, with example requests and error responses
Integrations
The AWS services Experimently runs on, the webhooks it receives, and the alerts it sends.
- AWSโHow the platform uses ECS Fargate, Aurora, ElastiCache and DynamoDB
- JiraโInbound webhooks, signed or with a shared secret
- SalesforceโInbound webhooks from a Flow or Apex callout
- GitHubโInbound webhooks, each checked by its HMAC-SHA256 signature
- Slack & EmailโSlack messages for scheduled experiment changes and rollout stage advances; email only from the test route
Security & Compliance
Audit records, compliance reports, roles, API keys and single sign-on.
- Compliance audit loggingโAn append-only record of changes to experiments and flags; signing and export in the full profile
- Compliance evidenceโFull profile: SOC 2 and ISO 27001 reports and an export of the audit events
- Audit LoggingโWho changed what through the API; no API edits or deletes an entry
- RBACโAdmin, Developer, Analyst and Viewer decide what a user can do; custom roles (full profile) are stored but not applied yet
- API Key ManagementโCreate, expire and delete keys; the sdk:ruleset scope for local evaluation
- SSO / SAML / OIDCโFull profile: sign in through Okta, Google or GitHub (OIDC). SAML 2.0 sign-in is not available yet; use OIDC.
- HIPAA controlsโFull profile: PHI encryption (Fernet), a 6-year retention marker on PHI audit records, BAA records and the data-residency configuration.
Self-Hosting
Run Experimently yourself: Docker Compose on one machine, Helm on Kubernetes, or a CDK app that deploys to AWS.
- AWS CDK DeploymentโCDK app for ECS Fargate, Aurora and ElastiCache
- Docker ComposeโThe published images on one Docker host: deploy/compose/compose.yml, and a README that says how to run it and lists its settings
- Kubernetes (Helm)โThe Helm chart in charts/experimently: a one-time secret step, then one install command
- Environment VariablesโConfiguration reference
- Database MigrationsโAlembic migration guide
- MonitoringโCloudWatch dashboards, Prometheus metrics
Guides & Tutorials
Walkthroughs and method guides.
- Your First A/B TestโEnd-to-end experiment walkthrough
- Bayesian ExperimentationโBeta-Binomial posteriors and stopping rules
- Guided Experiment BuilderโGuided setup in the dashboard, and the wizard API
- Interaction DetectionโBeta: find experiments that share users, and whether their effects interact
Statistics Reference
How power analysis, post-stratification and FDR correction work.
Team Workspaces
Group members into teams, projects or product areas with workspace roles. Workspaces do not limit access to experiments or flags; that is by platform role.