Flipgate is a feature-flag management portal: create and manage flags, let applications request ("evaluate") them, and target rollouts by user list, percentage of users, demographic/attribute rules, or A/B variant splits — all without a redeploy.
Flipgate started as our own answer to a familiar problem: a feature was ready before the business was. Decoupling "the code is live" from "the feature is on" turns risky releases into a config change.
| Concept | What it does |
|---|---|
| Application | Registers with an API key; every evaluate call is scoped to one application. |
| Flag | A named on/off (or variant) switch an application checks at runtime. |
| User-list targeting | Turn a flag on for an explicit set of user IDs — early access, internal dogfooding. |
| Percentage rollout | Ramp a feature from 1% to 100% of traffic with a consistent hash so the same user stays on the same side. |
| Attribute rules | Target by plan tier, region, account age, or any custom attribute the application passes in. |
| A/B variants | Split traffic across named variants for experimentation, not just on/off. |
./mvnw spring-boot:run
# → portal at http://localhost:8088
# self-seeds a demo application "Acme Web"
# (API key fg_demo_key_0123456789) with one
# flag per targeting mode
Storage is an embedded H2 file database by default — zero setup for evaluation. A Postgres profile is included for production, so the path from "trying it out" to "running it for real" is a config change, not a rewrite.