A/B testing framework for Ruby on Rails applications with datastore agnostic experiment tracking.
Vanity is an A/B testing framework for Ruby on Rails applications that enables developers to run controlled experiments on features, pricing, or design elements. It helps teams make data-driven decisions by tracking user interactions across different experiment alternatives. The framework is datastore agnostic, supporting Redis, MongoDB, or SQL databases for storing experiment results.
Ruby on Rails developers and product teams who need to implement A/B testing to optimize user experience, conversion rates, or feature adoption. It's particularly useful for applications where data-driven decision-making is critical.
Developers choose Vanity for its seamless Rails integration, flexibility in datastore choice, and built-in dashboard for monitoring experiments. Unlike generic A/B testing tools, it's specifically designed for the Rails ecosystem with features like JavaScript bot filtering and easy testing support.
Experiment Driven Development for Ruby
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Redis, MongoDB, and SQL databases via ActiveRecord, letting teams choose based on existing infrastructure without vendor lock-in.
Seamlessly integrates with Rails controllers, views, and routing, offering helpers like `ab_test` in templates for straightforward experiment implementation.
Optional JavaScript participant registration asynchronously adds users while filtering out bots via user-agent checks, improving data accuracy.
Provides a visual Rails dashboard to monitor experiment metrics and results, eliminating the need for external reporting tools.
Includes helpers like `chooses` to set experiment outcomes in tests, ensuring reliable and predictable environments for development.
Requires manual setup of a `vanity.yml` file and datastore connections, with additional steps for forking servers like Unicorn or Passenger, adding initial overhead.
Bot filtering relies on enabling JavaScript registration and including `<%= vanity_js %>` in views; omitting this can skew results with non-human traffic.
Only supports Rails 5.2+ and Ruby 2.5+, excluding legacy applications that haven't been upgraded, as noted in the compatibility section.
Being datastore agnostic means teams must provision and maintain their own Redis, MongoDB, or SQL instances, adding operational burden compared to hosted solutions.