Per-user and per-role toggles with usage tracking, managed from the admin panel.
Flags are evaluated server-side in priority order:
Unknown flag keys evaluate to false, so referencing a flag before creating it is safe.
Client-side, the hook handles the query and defaults to off while loading:
const showNewDashboard = useFeatureFlag('new-dashboard');Server-side, call evaluateFlag(key, userId, role) from src/domain/features/evaluate.ts.
Admins manage everything at /admin/flags:
User-specific overrides are also visible from the user detail page at /admin/users/:id.
Track feature engagement with the trackFeature mutation, which upserts a daily count per user per flag. The admin flag detail view charts usage over a configurable window, so you can see whether an experiment is landing before you commit to it.