Open source A/B testing platform. Self hostable. Free.
Assign users to variants, log conversion events and compare results through a dashboard or directly via the API. No SDK required, no pricing page, no lock-in.
- Create an experiment with a name and a list of variants
- Call the assign endpoint with any user ID to get a variant back
- Log a conversion event when something meaningful happens
- Check the results endpoint or open the dashboard to see which variant is winning
Create an experiment POST /experiments
Assign a user to a variant GET /experiments/:id/assign?user_id=xyz
Log a conversion POST /experiments/:id/event
Get results GET /experiments/:id/results
- Backend: Flask, MongoDB Atlas
- Frontend: HTML, CSS, JavaScript
- Fonts: IBM Plex Sans, IBM Plex Mono
Backend
cd backend
pip install -r requirements.txtCreate a .env file in the backend folder:
MONGO_URI=mongodb_atlas_connection_string
SECRET_KEY=enter-a-random-string
Then run:
python app.pyFrontend
Open frontend/index.html in your browser. No build step required.