Portfolio Live demo · Runs in your browser
Full Stack · Cloud Infrastructure

FlagForge

Flip a flag or edit its targeting in the dashboard and watch the Acme Coffee store change without a reload. The flags, shoppers and store are FlagForge's seeded demo project, and every value is decided by a JavaScript port of its evaluation engine, down to the SHA-256 rollout buckets.

  1. Dashboardyou click save
  2. management-apicommits the change
  3. Redisconfig-changed
  4. evaluation-apidrops snapshot, pushes
  5. Store SDKrefetches over WebSocket

Make a change to see it travel. Timings are simulated within the 0.3 to 0.7 s measured locally.

FlagForge · Acme CoffeeSigned in as admin
Flag Dev Stg Prod
acme-coffee.demo/
Flag inspector
Audit logthis session
  1. No changes yet.

The real rules

Targets beat rules, the first matching rule wins, and the default rule applies last. Rollouts hash flagKey.salt.userKey with SHA-256 into 100,000 buckets, so a shopper keeps their variation as a rollout grows. The port reproduces the golden vectors from the C# test suite.

What is simulated

In the real system the dashboard talks to a .NET management API, changes go through SQL Server and Redis pub/sub, and evaluation pods push them to the SDK over SignalR. Here those hops run in this page, with timings in the measured range.

Try this

Pick Random visitor and drag the New product layout rollout in Development: about that share of visitors get the grid. Or switch the store's SDK key to Production and flip a flag there, which asks for a reason.

Protected environment