Introduction
Feature flags for developers who ship
Feature flags that get out of your way. Deploy gradually, test in production, roll back instantly.
import { FlipswitchWebProvider } from '@flipswitch-io/web-provider';
import { OpenFeature, useFlag } from '@openfeature/react-sdk';
const provider = new FlipswitchWebProvider({ apiKey: 'YOUR_API_KEY' });
await OpenFeature.setProviderAndWait(provider);
function Checkout() {
const { value: newCheckout } = useFlag('new-checkout', false);
return newCheckout ? <NewCheckout /> : <OldCheckout />;
}import { FlipswitchServerProvider } from '@flipswitch-io/server-provider';
import { OpenFeature } from '@openfeature/server-sdk';
const provider = new FlipswitchServerProvider({ apiKey: 'YOUR_API_KEY' });
await OpenFeature.setProviderAndWait(provider);
const client = OpenFeature.getClient();
const newCheckout = await client.getBooleanValue('new-checkout', false, {
targetingKey: 'user-123',
});import io.flipswitch.FlipswitchProvider;
import dev.openfeature.sdk.OpenFeatureAPI;
import dev.openfeature.sdk.Client;
FlipswitchProvider provider = FlipswitchProvider.builder("YOUR_API_KEY").build();
OpenFeatureAPI.getInstance().setProviderAndWait(provider);
Client client = OpenFeatureAPI.getInstance().getClient();
boolean newCheckout = client.getBooleanValue("new-checkout", false);
return newCheckout ? newCheckout() : oldCheckout();from flipswitch import FlipswitchProvider
from openfeature import api
provider = FlipswitchProvider(api_key="YOUR_API_KEY")
api.set_provider(provider)
client = api.get_client()
new_checkout = client.get_boolean_value("new-checkout", False)
return new_checkout_view() if new_checkout else old_checkout_view()import (
flipswitch "github.com/flipswitch-io/go-sdk"
"github.com/open-feature/go-sdk/openfeature"
)
provider, _ := flipswitch.NewProvider("YOUR_API_KEY")
openfeature.SetProvider(provider)
client := openfeature.NewClient("my-app")
newCheckout, _ := client.BooleanValue(ctx, "new-checkout", false, openfeature.EvaluationContext{})
if newCheckout {
return newCheckout()
}
return oldCheckout()What You Get
- Real-time updates - Toggle flags in the dashboard, see changes instantly via SSE
- Gradual rollouts - Ship to 1% of users, then 10%, then everyone
- Targeting rules - Show features to specific users, teams, or segments
- OpenFeature native - Works with any OpenFeature SDK via OFREP