Skip to main content

Feature Flags

Cortex is coming soon! This page previews the feature flag functionality.
Feature flags let you enable or disable features without deploying code.

Flag Types

Boolean Flags

Simple on/off flags:
if BrainzLab::Cortex.enabled?(:new_feature)
  # New feature code
end

Multivariate Flags

Flags with multiple variants:
variant = BrainzLab::Cortex.variant(:button_color)
# Returns: "blue", "green", or "red"

JSON Flags

Complex configuration as JSON:
config = BrainzLab::Cortex.json(:pricing_config)
# Returns: { "basic": 9.99, "pro": 29.99 }

Creating Flags

In the dashboard:
  1. Go to Cortex > Flags
  2. Click “Create Flag”
  3. Set name, type, and default value
  4. Add targeting rules (optional)
  5. Save

Evaluating Flags

Basic Usage

BrainzLab::Cortex.enabled?(:feature_name)

With User Context

BrainzLab::Cortex.enabled?(:feature_name,
  user: {
    id: current_user.id,
    email: current_user.email,
    plan: current_user.plan
  }
)

With Default

BrainzLab::Cortex.enabled?(:feature_name, default: false)

Flag Lifecycle

  1. Development - Flag created, default off
  2. Testing - Enabled for internal users
  3. Rollout - Gradually enabled for users
  4. GA - Enabled for everyone
  5. Cleanup - Flag removed from code and dashboard

Best Practices

  • Use descriptive flag names
  • Document what each flag controls
  • Clean up old flags regularly
  • Monitor flags with Recall/Reflex

Coming Soon

Join Waitlist

Get notified when Cortex launches