DEV Community

137Foundry
137Foundry

Posted on

7 Feature Flag Tools and Libraries for Web App Developers

Feature flag management has matured from a DIY database-table solution into a full product category, with options ranging from open-source libraries to enterprise SaaS platforms. Choosing the right tool depends on your team size, budget, and how complex your rollout and targeting requirements are.

Here are seven options, from the lightest-weight DIY approach to the most fully-featured managed platform.

1. DIY: PostgreSQL + Redis (No Dependencies)

Best for: Early-stage teams, simple rollouts, developers who want full control

The simplest feature flag implementation requires no additional dependencies if you already run PostgreSQL. A feature_flags table with flag_key, is_enabled, and rollout_pct columns handles most production use cases. Add Redis as a caching layer to eliminate per-request database reads.

The implementation described in the complete feature flag guide from the web development team at 137Foundry fits in under 100 lines. No licensing costs, no API keys, no external dependencies -- just your existing database and application code.

Limitation: No management dashboard, no audit log, no per-user attribute targeting out of the box.

2. Flagsmith

Best for: Teams that want open-source flag management with a hosted option

Flagsmith is an open-source feature flag platform with both a self-hosted and a cloud-hosted deployment option. The self-hosted version runs on PostgreSQL and provides a management dashboard, API, and SDKs for most major languages.

Key capabilities: feature flag management, remote config (string/number/JSON values per flag), user segments, and an audit log. The dashboard is clean and the API surface is well-documented.

Self-hosting Flagsmith is the most cost-effective path to getting a proper flag management UI -- you pay infrastructure costs rather than a SaaS subscription. The cloud-hosted version starts free for small teams and scales to a paid tier.

3. Unleash

Best for: Teams that need advanced targeting and want open-source self-hosting

Unleash is a mature open-source feature flag platform that has been in production use since 2014. The feature set is more advanced than Flagsmith: flexible strategy types (user IDs, percentage rollouts, gradual rollouts, custom strategies), multiple environments, variant flags for A/B testing, and a robust API.

Unleash requires a bit more infrastructure to self-host than Flagsmith but is more capable for teams with complex targeting needs. SDKs exist for Node.js, Python, Java, Go, Ruby, PHP, and most other major platforms.

Self-hosted Unleash is free. The Enterprise tier adds SSO, advanced permissions, and SLA-backed support.

4. Flipper

Best for: Ruby/Rails applications

Flipper is the most widely used feature flag library in the Ruby ecosystem. The core library is open-source and framework-agnostic; the Flipper Cloud service adds a hosted management dashboard.

What makes Flipper distinct is its concept of actors and groups: you can enable a flag for a specific actor (user ID), a group of actors (beta users, employees), a percentage of actors, or a random percentage of requests. The adapter-based architecture supports multiple backends including ActiveRecord, Redis, and in-memory storage.

For Rails applications, Flipper is the natural first choice. For non-Ruby applications, Unleash or Flagsmith are generally better fits.

5. LaunchDarkly

Best for: Enterprise teams with complex targeting and compliance requirements

LaunchDarkly is the market-leading commercial feature flag platform. The feature set is the most complete in the category: sophisticated targeting rules, multi-variate flags, experimentation (A/B testing with statistical significance), mobile SDKs, audit logs, role-based access control, and integrations with monitoring platforms like Datadog and PagerDuty.

LaunchDarkly's pricing starts at several hundred dollars per month, which makes it hard to justify for small teams. For larger teams shipping frequently to production, the dashboard, targeting engine, and operational tooling save significant engineering time compared to any self-hosted option.

The main limitation: vendor lock-in. LaunchDarkly's SDK is deeply integrated into your codebase, and migrating away from it requires significant refactoring.

6. Split.io

Best for: Teams that want feature flags and experimentation in one platform

Split.io combines feature flag management with a built-in experimentation platform. Unlike LaunchDarkly, which treats A/B testing as a secondary feature, Split treats it as a primary use case with statistical analysis tools built into the dashboard.

Split is a strong choice for product teams that are doing active growth experimentation alongside standard feature rollouts. The pricing is comparable to LaunchDarkly, so the decision between the two usually comes down to whether your team's primary use case is deployment safety (favor LaunchDarkly) or experimentation (favor Split).

7. Environment Variables (For the Simplest Cases)

Best for: Feature flags that only need to change between deployments

Before any dedicated flag system, consider whether environment variables are sufficient. If your use case is "flag enabled in staging, disabled in production until launch day," an environment variable solves the problem with zero infrastructure overhead.

const NEW_FEATURE_ENABLED = process.env.ENABLE_NEW_FEATURE === 'true';
Enter fullscreen mode Exit fullscreen mode

Environment variables are the right tool when the flag state does not change without a redeploy, there are no rollout percentage requirements, and the number of flags is small (under 10). Beyond those constraints, a proper flags table is almost always the cleaner solution.

How to Choose

Scenario Recommended Option
Early-stage, simple rollouts DIY (PostgreSQL + Redis)
Need a management dashboard, tight budget Flagsmith (self-hosted)
Need advanced targeting, open-source Unleash (self-hosted)
Ruby/Rails application Flipper
Enterprise, complex compliance LaunchDarkly
Feature flags + experimentation Split.io
Changes only between deploys Environment variables

The full guide to building your own flag system is the best starting point for the DIY path -- complete with the database schema, evaluator code, and React hook. For teams that outgrow the DIY approach, Flagsmith self-hosted or LaunchDarkly are the most common next steps depending on whether cost or feature depth is the deciding factor.

Migration Paths: Starting Simple, Growing When Needed

One practical consideration when choosing a flag approach: how hard is it to migrate to another option as your requirements change?

DIY to Flagsmith. The cleanest migration path. Flagsmith uses a data model close to the simple is_enabled / rollout_pct structure the DIY approach uses. A script that reads from your flags table and creates equivalent flags via the Flagsmith API handles data migration in a few hours. Replacing the custom evaluator with Flagsmith's SDK in application code is a focused, one-time refactor.

Flagsmith to LaunchDarkly. More involved. The two platforms have different targeting models, and LaunchDarkly's SDK replaces Flagsmith's SDK in every flag evaluation call site. If you have 50 flagged code paths, budget a full sprint for the migration and expect to rewrite targeting rules that do not map cleanly between the two systems.

DIY to LaunchDarkly. Similar effort to Flagsmith-to-LaunchDarkly. You control the source data, so the migration script is simpler, but replacing every custom evaluator call with the LaunchDarkly SDK is the same amount of application-level work.

LaunchDarkly to anything. Possible but rarely worth undertaking once LaunchDarkly is deeply integrated. The SDK call sites are straightforward to replace individually, but re-implementing any advanced targeting rules the team has built up requires significant custom development. This is the vendor lock-in cost.

The practical implication: start with DIY or Flagsmith self-hosted, since both are easier to migrate from if you eventually outgrow them. Committing to LaunchDarkly before the advanced targeting features are actually needed creates lock-in before the value justification is clear. The web development team at 137Foundry recommends validating the DIY approach for at least six months before evaluating whether a managed platform would genuinely reduce the operational overhead for your team size and use case.

Top comments (0)