Feature flags that don't suck. Fast, OpenFeature-compatible, self-hostable. Drop in the SDK of your choice and ship.
From git clone to live flag in three steps.
- 01step 1
Self-host
One Postgres + one binary. Migrations on first boot.
- 02step 2
Drop in the SDK
OpenFeature provider for Node or Go. Local eval after init.
- 03step 3
Ship
Targeting + rollouts + A/B from the dashboard. ~0ms p99.
Watch a flag resolve.
A real cascade of rules against the context you paste in. First match wins, deterministic FNV-1a bucketing on the rest.
targetingKey ∈ ["alice", "carol"]→onrole ∈ ["internal"]→on25% of role=beta (FNV-1a bucketed)→ondefault variant→offnew-checkoutonTARGETING_MATCH · r1try `bob` · role=`free` · or hit ⌘K
The targeting you want, on the hot path.
User targeting
Allowlist specific users by id. First-match wins.
Role targeting
Match on role attributes carried in the eval context.
Percentage rollouts
Deterministic FNV-1a bucketing. Stable across toggles.
Weighted A/B
Split traffic across variants by weight. Same hash family.
OpenFeature-native
Drop-in provider, not a custom SDK. Server-side, ~0ms p99.
Self-hostable
One binary, one Postgres. No external deps in OSS mode.
One eval engine, three implementations.
Same golden vectors run against the Go API, the Node SDK, and (soon) the browser SDK. Drift between any two fails the test.
TypeScript
shippedpnpm add @flaggy/openfeature-providerOpenFeature.setProviderAndWait(
new FlaggyProvider({ baseUrl, token })
);
const client = OpenFeature.getClient();
await client.getBooleanValue("new-checkout", false, ctx);Go
shippedgo get github.com/flaggy/flaggy/sdks/openfeature-provider-goprovider := flaggy.NewProvider(flaggy.ClientOptions{
BaseURL: baseURL, Token: token,
})
provider.Init(ctx)
openfeature.SetProvider(provider)
client := openfeature.NewClient("my-app")
v, _ := client.BooleanValue(ctx, "new-checkout", false, ec)Browser
soon// @flaggy/openfeature-web-provider// client-side bundle, signed snapshot, ETag fallbackPython
soon# pip install flaggy-openfeature# PEP-8-friendly Provider, same eval contract