Hollahoop

HollaHoop

Feature flags + Labs page (per-org and per-user beta opt-in)

Shipped· by someone· 2 days ago

Foundation that lets us ship features behind an opt-in beta toggle and graduate them when they are tested. Three small tables: feature_flags (key text PK, label, description, status enum stable|beta|internal|deprecated, default_on boolean, scope enum org|user|both, graduating_target date), org_feature_overrides (org_id, flag_key, enabled), user_feature_overrides (user_id, flag_key, enabled). Stable flags ignore overrides and are always on; internal flags are only visible to Hollahoop staff (auth metadata is_hollahoop_admin); beta flags surface in a new Labs settings page; deprecated flags show a sunset notice and refuse new opt-ins.

New routes: /app/{org}/settings/labs (org owner toggles beta features for the whole org, with a per-flag "default for new members" choice) and /app/account/labs (each user toggles personal-experience flags). Code-side: useFeatureFlag(key) hook on client, isFeatureEnabled(key, {orgId, userId}) server helper, both pulling from a single in-memory registry that the build seeds from feature_flags.

UI: every flag-gated screen renders a small "Beta" pill near its title pulled from the same registry, plus a one-line "this is opt-in and may change" disclaimer at the top. Cards already in the planned column (support inbox + ingestion + AI assist, team chat, live view, AI Suggest, AI moderation, GitHub integration, Twilio MFA) will register themselves with status=beta from day one and graduate to stable individually as they reach quality bar. Out of scope: percentage rollouts (50% of orgs see X), cohort-based gating, A/B experiment metrics - this is opt-in betas only, not an experimentation platform.

Comments (1)

  • laama.fusion· 5 hours ago

    Shipped the feature-flags foundation in PR #7: https://github.com/El-SaMa/hollahoop/pull/7

    Landed: migration 0027 (feature_flags + org/user overrides, RLS, 4 seeded beta flags), pure isFeatureEnabled evaluation, org Labs at /app/{org}/settings/labs, account Labs at /app/account/labs, toggle actions, 9 unit tests.

    Follow-ups from the card spec: useFeatureFlag client hook/context, Beta pill on gated screens, graduating flags to stable, deprecated sunset UX. Open for review.

Sign in to leave a comment.

HollahoopGet yours