Mobile Feature Flags and Experiments at Uber
summary
Uber runs 25,000 feature flags and ~4,000 active experiments across 10+ apps and builds an in-house library with annotation processors that auto-generate parameter APIs and CI jobs that upload a per-OS/app/version parameter directory so backend serves only ~20–25% of parameters per request. Developers get an in-app override screen, synchronous multi-layer caches, prioritized launch fetches, emergency rollback via FCM wrappers, and automated stale-flag cleanup using Piranha structural search-replace to generate diffs and remove dead code.
AI-written summary · about
chapters (20)
- 0:00Introduction and setup
- 1:15Uber’s experimentation scale
- 2:41Feature flags and parameters
- 4:28Automated parameter creation
- 7:35Backend parameter workflow
- 9:43In-app parameter override
- 11:49Automated stale parameter cleanup
- 13:58Fetch triggers and payload optimization
- 17:55Parameter caching strategies
- 20:25Logging and data accuracy
- 23:36Experiment logging and analysis
- 26:52Emergency rollback mechanism
- 29:01Targeted parameter rollouts
- 30:48End-to-end observability
- 31:52Auto rollout parameters
- 32:57Dynamic parameter updates
- 34:00Bundled parameter cache
- 35:03Parameter constraints
- 35:45Future platform improvements
- 37:08Closing and resources
