Product · Flipgate

Ship the code. Decide the rollout later.

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.

Why it exists

Deploy and release are two different decisions.

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.

4targeting modes: list, percentage, attribute rules, A/B
Java 17Spring Boot 3, self-contained
H2 / Postgreszero-setup dev, production-ready deploy
RESTevaluate a flag from any application, any language
Core concepts

A small model that covers real rollout needs.

ConceptWhat it does
ApplicationRegisters with an API key; every evaluate call is scoped to one application.
FlagA named on/off (or variant) switch an application checks at runtime.
User-list targetingTurn a flag on for an explicit set of user IDs — early access, internal dogfooding.
Percentage rolloutRamp a feature from 1% to 100% of traffic with a consistent hash so the same user stays on the same side.
Attribute rulesTarget by plan tier, region, account age, or any custom attribute the application passes in.
A/B variantsSplit traffic across named variants for experimentation, not just on/off.
Quickstart

Running in one command.

./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

Built for real deployments

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.