By Abdelrahman Saed — Senior Mobile Engineer. Last updated: 2026-08-10.
Feature flags (also called feature toggles) are a software development technique that lets you enable or disable functionality at runtime without deploying new code. In Flutter, they decouple deploy from release — you ship code dark behind a flag, then remotely enable it when ready.
A feature flag is a remote-controlled boolean (or string, or JSON) that your app checks at runtime:
if (featureFlags.isEnabled('new_checkout_flow')) {
return NewCheckoutPage();
} else {
return OldCheckoutPage();
}
The flag values are fetched from a remote service (GrowthBook, Firebase Remote Config, LaunchDarkly) and cached locally so the app works offline. Changing a flag on the server changes the app's behaviour for all users — or for a targeted segment — without an app store release.
At iStoria, we use GrowthBook for feature flags and A/B testing. Feature flags enable:
1. Dark launches — ship code to production behind a flag that defaults to off. Ramp when ready. 2. Percentage rollouts — enable for 5% of users, watch crash rates, then ramp to 100%. 3. Instant kill switch — a misbehaving feature is one flag flip from off, no hotfix release needed. 4. A/B testing — run two variants and measure which drives better conversion.
Combined with trunk-based development, feature flags let you merge continuously to master and choose when learners see something — instead of the app store review being the release event.
Use feature flags when:
Skip them when:
Feature flags control which code runs (on/off or variant). A/B testing is one use of feature flags — it assigns users to variants and measures outcomes. Every A/B test uses feature flags; not every feature flag is an A/B test. See our feature flags vs A/B testing comparison.
GrowthBook (open-source, self-hostable) and Firebase Remote Config (free, managed by Google) are the most popular. LaunchDarkly is the enterprise option. At iStoria, GrowthBook gives us both flags and A/B testing in one SDK.
Available for hire. Abdelrahman Saed is a Senior Mobile Engineer (Flutter) — open to full-time, fractional, contract, or advisory work. Hire me →
Book a 20-minute call · Download the CV (PDF) · See how I work