Use Cases

Feature flags are more than on/off switches. See how teams use Flagit to ship faster and safer.

Progressive Rollouts

Ship to 1% of users, then scale up with confidence

Release new features gradually to catch issues before they affect all users. Start with internal testers, expand to beta users, then roll out to everyone.

Benefits

  • Reduce risk of failed deployments
  • Get real user feedback early
  • Roll back instantly without redeploying
  • A/B test new features against existing ones
Example: New Checkout Flow
// Roll out new checkout to 10% of users
if (isEnabled('new-checkout', { userId })) {
  return <NewCheckout />;
}
return <LegacyCheckout />;

Kill Switches

Instant off-switch for any feature

Wrap risky features in flags so you can disable them instantly if something goes wrong. No deployment needed - just toggle the flag.

Benefits

  • Disable broken features in seconds
  • Reduce MTTR (Mean Time To Recovery)
  • No need for emergency deployments
  • Sleep better knowing you have a safety net
Example: Third-Party Integration
// Disable payment processing if provider is down
if (!isEnabled('payments-enabled')) {
  return showMaintenanceMessage();
}
return processPayment(order);

Trunk-Based Development

Ship incomplete features behind flags

Merge code to main even when features aren't ready. Hide work-in-progress behind flags to keep your main branch deployable while developing large features.

Benefits

  • Eliminate long-lived feature branches
  • Reduce merge conflicts
  • Deploy multiple times per day
  • Enable continuous delivery
Example: Work in Progress
// Ship incomplete feature to main, hidden from users
if (isEnabled('new-dashboard-v2', { email })) {
  // Only visible to internal team
  return <DashboardV2 />;
}
return <Dashboard />;

User Targeting

Different experiences for different users

Show features to specific users or groups based on attributes. Target by user ID, email domain, subscription plan, location, or any custom attribute.

Benefits

  • Beta test with specific users
  • Unlock features for premium customers
  • Internal dogfooding before public release
  • Geographic rollouts
Example: Premium Features
// Show advanced analytics to Pro users
const context = {
  userId: user.id,
  plan: user.subscription.plan,
  company: user.company.name,
};

if (isEnabled('advanced-analytics', context)) {
  return <AdvancedAnalytics />;
}

Dynamic Environments

Isolated flag configs for every branch

Automatically create flag environments for merge requests and preview deployments. Test features in isolation without affecting other environments.

Benefits

  • Test flag configurations before merging
  • Preview deployment support
  • No flag conflicts between branches
  • Automatic cleanup when MRs close
Example: GitLab CI Integration
# .gitlab-ci.yml
deploy-preview:
  script:
    - flagit env create $CI_MERGE_REQUEST_IID
    - deploy --env preview-$CI_MERGE_REQUEST_IID
  environment:
    name: preview/$CI_MERGE_REQUEST_IID
    on_stop: cleanup-preview

Scheduled Releases

Time-based feature activation

Schedule features to turn on or off at specific times. Perfect for product launches, promotions, or maintenance windows.

Benefits

  • Launch features at specific times
  • Run time-limited promotions
  • Schedule maintenance mode
  • Coordinate global releases across timezones
Example: Black Friday Sale
// Flag configured in dashboard:
// - Enable: Nov 29, 2024 00:00 UTC
// - Disable: Dec 2, 2024 00:00 UTC

if (isEnabled('black-friday-pricing')) {
  return <SalePricing discount={0.30} />;
}
return <RegularPricing />;

Ready to ship features faster?

Get started with Flagit in 5 minutes. Free for teams up to 5 users.