
Hypertune
Type-safe feature flags platform with A/B testing, analytics, and app configuration optimized for TypeScript
Discover top open-source software, updated regularly with real-world adoption signals.

Redis-backed feature flags for Ruby with granular rollout control
A lightweight Ruby gem that manages feature flags using Redis, enabling gradual rollouts through user percentages, groups, and individual targeting.
Rollout is a battle-tested Ruby gem that provides Redis-backed feature flag management with fine-grained control over feature activation. Designed for teams that need to safely deploy new functionality, it offers multiple targeting strategies without the overhead of complex feature management platforms.
The library supports four activation mechanisms: global toggles, user groups with custom logic, individual user targeting, and percentage-based gradual rollouts. The percentage algorithm uses CRC32 hashing to ensure consistent user assignment as rollout percentages increase, making it ideal for phased launches and A/B testing scenarios.
With Redis as its backing store, Rollout delivers sub-millisecond flag checks while maintaining state across distributed application instances. The gem integrates seamlessly with existing Ruby applications through simple initialization and supports namespace isolation for multi-environment deployments. Teams can define custom groups programmatically, activate features for beta users, or roll out to calculated user segments—all with straightforward Ruby methods that check feature state in real-time.
When teams consider Rollout, these hosted platforms usually appear on the same shortlist.
Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.
Phased Feature Launch
Roll out new chat functionality to 5% of users, monitor error rates, then gradually increase to 20%, 50%, and 100% based on performance metrics.
Beta Testing Program
Activate experimental features for a custom 'beta_testers' group while keeping them hidden from general users, enabling safe validation before wider release.
VIP Early Access
Grant specific premium users immediate access to new features using individual user activation, bypassing percentage rollouts for priority customers.
Emergency Kill Switch
Instantly deactivate problematic features globally when error thresholds are exceeded, preventing cascading failures across the application.
Rollout uses CRC32 hashing on user IDs to deterministically assign users. For 20% rollout, users whose CRC32(user.id) falls below the threshold are included. This ensures the same users remain activated as percentages increase.
No, group logic is defined in application code and must be declared on each app startup. Only group membership assignments are stored in Redis, not the group definition logic itself.
Yes, you can check global feature activation with `$rollout.active?(:feature)` without passing a user. Features activated for 100% of users are also considered globally active.
Rollout itself is a library without a UI. You can integrate separate projects like rollout-ui or Rollout-Dashboard for web-based feature flag management.
Yes, use the redis-namespace gem to isolate keys by environment (e.g., 'development:feature:chat'). Initialize Rollout with a namespaced Redis connection to separate staging and production flags.
Project at a glance
ActiveLast synced 4 days ago