System Design Problem

Design a Feature Flag System

Commonly Asked By:LaunchDarklyNetflixMetaGoogle

  • Create, update, and delete feature flags (boolean, string, number, JSON variants)
  • Target flags by user ID, user attributes (country, plan, device), percentage rollout
  • Gradual rollout: 1% → 5% → 25% → 50% → 100% (with rollback at any point)
  • A/B testing integration: assign users to experiment variants deterministically
  • Kill switch: instantly disable a feature globally in < 5 seconds
  • Flag dependencies: flag B requires flag A to be enabled
  • Audit log: who changed what flag, when, and why
  • SDK support: server-side (Java, Go, Python) and client-side (JS, iOS, Android)
  • Environment separation: dev, staging, prod with independent flag states
  • Scheduled flags: auto-enable at a specific time (launch events)
Loading...