Typed flag values
Every flag's value is validated against a JSON Schema. A flag can never return a shape your code doesn't expect.
Typesafe feature flags
flaggable.dev is the feature flag platform with schemas built in — every flag typed, every value validated, every release under control.
import { useFlag } from "@flaggable/react";
export function Checkout() {
const isNewCheckout = useFlag("checkout-redesign");
return isNewCheckout ? <NewCheckout /> : <LegacyCheckout />;
}
Why flaggable.dev
Every flag's value is validated against a JSON Schema. A flag can never return a shape your code doesn't expect.
The properties you target on are schema-defined too. Conditions can't reference a field that doesn't exist — or one with the wrong type.
A single JSON Schema contract drives the dashboard, the API, and the types your SDK generates. Nothing drifts out of sync.
Generate a ready-to-paste prompt for your coding agent and let it wire the flag into your codebase for you.
For developers
Every flag comes with a generated prompt for your coding agent. Paste it into Claude Code, Cursor, or pi — the flag lands in your codebase, guarded and evaluated.
Create a flag in the dashboard.
Click "AI Setup Prompt" on the flag.
Paste it into your agent and ship.
# Wire the flag "checkout-redesign" into this repo.
1. Install @flaggable/react and add the
provider with the production SDK key.
2. Guard the new checkout behind
useFlag("checkout-redesign") in
app/checkout/page.tsx.
3. Keep the legacy component as the
fallback path. Do not delete it yet.A better release rhythm
Give every feature a deliberate on/off switch. Keep release control close to the people who know the work.
See rollout changes as they happen, with the environment and audience context attached to every update.
When the signal is good, move forward. When it is not, roll back cleanly and know exactly what changed.
Your next release
Free to start. Five minutes to your first flag.