Open source · 2025

ABTestLab

CLI to build and live-preview A/B tests locally, adopted company-wide.

The problem

A/B test developers were writing variations straight into vendor dashboards, with no local tooling, bundling or live reload.

What I built

  • Scaffolds websites, tests, touchpoints and variations; bundles JS and SCSS with Rollup.
  • Runs single, grouped and multi-touchpoint tests in parallel, for VWO, AB Tasty, Optimizely, Dynamic Yield, Kameleoon and Convert.
  • Local WebSocket server pushes rebuilt code to the browser, which checks targeting and goals before showing the variation.
  • In-page status panel with search, sort and per-test details, plus a migration script for old projects.
  • Ported into the company's shared services repo and used to restructure a 1,700-experiment monorepo onto one scaffold / start / build workflow.

In numbers

  • 192 commits
  • ~7.9k lines
  • Adopted as the company's shared CLI

Stack

  • Node.js
  • WebSocket
  • Rollup
  • Sass
  • Chokidar
  • Commander
github.com/maruf1020/ABTestLab