Ship Code, Launch Features, Track Results

With FeatureSwitches, ship code disabled and turn it on when you want, for who you want, with the press of a button.

No complicated configuration, re-deployment, maintenance windows or pestering your dev or ops teams necessary!

Learn More

 

Start your 14 day trial now!

100% free, no credit card required

Start Trial

Up and running with a few lines of code.

Integrating FeatureSwitches with your app is super easy. We have client libraries available for JavaScript, Node.js, Ruby, Python and PHP as well as a REST API for custom integrations.

The clients make use of local caching and background syncing to keep features up to date with the dashboard. This means that there is almost no impact on your app while checking if features are enabled because the state is saved locally!

var customer_key = 'CUSTOMER_API_KEY',
    read_only_env_key = 'ENVIRONMENT_API_KEY';

var fs = new FeatureSwitches(customer_key, read_only_env_key);

fs.is_enabled('feature_key', '[optional_user_identifier]', function(err, res) {
    if (!err) {
        if (res == true) {
            // Feature is enabled, do something
        } else {
            // Feature is not enabled, do something
        }
    }
});
var customer_key = 'CUSTOMER_API_KEY',
    read_write_env_key = 'ENVIRONMENT_API_KEY';

var featureswitches = require('featureswitches')(customer_key, read_write_env_key, {options});

featureswitches.is_enabled('feature_key', '[optional user_identifier]')
    .then(function(result) {
        if (result === true) {
            // Feature is enabled, do something
        } else {
            // Feature is not enabled, do something else
        }
    });
require 'featureswitches'

customer_api_key = 'CUSTOMER_API_KEY'
read_write_env_key = 'ENVIRONMENT_API_KEY'

fs = FeatureSwitches.new(customer_api_key, read_write_env_key, {options})

result = fs.is_enabled('feature_key', 'optional_user_identifier')

if result
    # Feature is enabled, do something
else
    # Feature is disabled, do something else
end
from featureswitches import FeatureSwitches

customer_api_key = 'CUSTOMER_API_KEY'
read_write_env_key = 'ENVIRONMENT_API_KEY'

fs = FeatureSwitches(customer_api_key, read_write_env_key)

result = fs.is_enabled('feature_key', 'optional_user_identifier')

if result:
    # Feature is enabled, do something
else:
    # Feature is disabled, do something else
require 'vendor/autoload.php';
$customer_api_key = 'CUSTOMER_API_KEY';
$read_write_env_key = 'ENVIRONMENT_API_KEY';

$featureswitches = new FeatureSwitches\FSClient($customer_api_key, $read_write_env_key, array('options'));

$result = $featureswitches->isEnabled('feature_key', 'optional_user_identifier');

if ($result == true) {
    # Feature is enabled, do something
} else {
    # Feature is disabled, do something else
}
Control who gets features and when

Get early feedback from beta testers and minimize the risk of rolling out new features by controlling which users get them and when. You can enable or disable a feature for specific users or groups of users.

Gradually rollout new features

You can gradually rollout a feature to a small percentage of your users at a time. This enables you to track feature usage as well as its impact on your systems.

If a feature is negatively impacting your systems, you can scale back the percentage of users with access or disable it entirely. All from our dashboard without needing to re-deploy.

Management Dashboard

All of your features are available in our dashboard. You can manage feature state, grant or revoke access to users/groups and view feature usage statistics.

You can also manage your team and grant access to team members based on their position and level of trust. Enterprise plans include a full audit history of all team members and their actions.

All Features

Custom Environments

Create custom environments for Staging, QA, Production, etc to segment features and permissions.

Controlled Rollout

Roll a feature out to a subset of users before allowing everyone access.

Team Collaboration

Invite your team to manage and collaborate on features so that everyone is always on the same page.

User Segmentation

Segment your users into groups to enable or disable access to certain features.

A/B Testing

Coming Soon. Measure adoption of your features by running A/B tests.

Goal Tracking

Coming Soon. Create goals to measure how well your features are doing.