Flipper logo

Flipper

Beautiful, performant feature flags for Ruby and Rails

Control who accesses features in your Ruby app with flexible targeting, multiple storage adapters, web UI, and optional cloud management with audit history.

Flipper banner

Overview

Feature Flags Built for Ruby

Flipper gives Ruby and Rails developers fine-grained control over feature rollouts without redeploying code. Whether you need to enable features for everyone, specific users, groups, a percentage of actors, or a percentage of time, Flipper provides a clean API and performant architecture that works with your existing data store.

Flexible and Performant

All features are disabled by default. Enable them through code, console, or the included web UI. Flipper supports multiple storage adapters—Active Record, Redis, Memcached, Mongo, and more—ensuring your feature flag reads remain fast regardless of scale. The library is designed to keep feature checks local to your application, minimizing latency.

Cloud-Enhanced Workflow

For teams requiring advanced workflows, Flipper Cloud adds multiple environments with inheritance, personal sandboxes for each developer, granular permissions, complete audit history, one-click rollbacks, and webhooks. Cloud availability never impacts your application because all reads remain local. A free plan is available for getting started.

Highlights

Enable features for everyone, specific actors, groups, percentages of actors, or percentages of time
Works with Active Record, Redis, Memcached, Mongo, and other storage adapters
Includes web UI and console access for runtime configuration
Optional Cloud service with multi-environment support, audit history, and rollbacks

Pros

  • Clean, idiomatic Ruby API with minimal learning curve
  • Storage-agnostic architecture supports multiple backends
  • Local feature flag reads ensure low latency and high availability
  • MIT licensed with active maintenance and zero open issues

Considerations

  • Advanced features like audit history and permissions require paid Cloud subscription
  • Primarily focused on Ruby ecosystem; not suitable for polyglot environments
  • Requires separate storage adapter gem installation
  • Web UI and Cloud features add deployment complexity for simple use cases

Managed products teams compare with

When teams consider Flipper, these hosted platforms usually appear on the same shortlist.

Hypertune logo

Hypertune

Type-safe feature flags platform with A/B testing, analytics, and app configuration optimized for TypeScript

LaunchDarkly logo

LaunchDarkly

Feature flag management platform for safe software releases with targeting, experimentation, and rollback capabilities

Reflag logo

Reflag

Feature flags and A/B testing for TypeScript

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Ruby and Rails applications needing gradual feature rollouts
  • Teams wanting to decouple deployments from feature releases
  • Organizations requiring audit trails and rollback capabilities
  • Projects already using Active Record, Redis, or Memcached

Not ideal when

  • Polyglot environments requiring feature flags across multiple languages
  • Microservices architectures with non-Ruby services
  • Teams needing built-in A/B testing or experimentation analytics
  • Projects requiring feature flags without adding any dependencies

How teams use it

Gradual Feature Rollout

Enable a new search feature for 2% of users, monitor performance, then gradually increase to 100% without redeploying.

Admin-Only Features

Grant access to beta analytics dashboard exclusively to admin group while keeping it hidden from regular users.

Emergency Kill Switch

Instantly disable a problematic feature from web UI or console without code changes or deployment delays.

Per-Environment Configuration

Use Flipper Cloud to enable features in staging while keeping them disabled in production, with personal environments for each developer.

Tech snapshot

Ruby76%
JavaScript21%
HTML3%
Shell1%
CSS1%
Dockerfile1%

Tags

flipperredisrailshttpdallifeature-togglefeature-flaggingmemcachedfeaturesfeature-togglesmongofeaturepostgresfeature-flagapirubyrolloutmysqlfeature-flags

Frequently asked questions

What storage backends does Flipper support?

Flipper supports Active Record, Redis, Memcached, Mongo, and other adapters. You install the storage adapter gem separately (e.g., flipper-active_record) alongside the core flipper gem.

Are features enabled or disabled by default?

All features are disabled by default. You must explicitly enable them using Flipper.enable, enable_actor, enable_group, or enable_percentage methods.

Does Flipper Cloud affect my application's availability?

No. All feature flag reads are local to your application. Cloud is used for configuration and management only, with background polling and webhooks keeping your app in sync.

Can I use Flipper without the Cloud service?

Yes. The core Flipper gem is fully functional as a standalone library. Cloud adds multi-environment support, audit history, permissions, and rollbacks but is entirely optional.

How do I check if a feature is enabled?

Use Flipper.enabled?(:feature_name, actor) in your code. For example: Flipper.enabled?(:search, current_user) returns true or false based on your configuration.

Project at a glance

Active
Stars
3,905
Watchers
3,905
Forks
430
LicenseMIT
Repo age13 years old
Last commit6 days ago
Primary languageRuby

Last synced 2 hours ago