Peer Mentor (Likeperson)
Volunteer peer mentors are the primary users of the mobile application. They are individuals living with the same diagnosis or disability as the people they support, who use the app to log activities, manage assigned contacts, submit travel expenses, and stay engaged with their organization. They range widely in age, digital literacy, and physical ability — including blind and low-vision users, hard-of-hearing users, and users with cognitive challenges such as stroke survivors. The app must serve this entire spectrum.
Story Priority Distribution
User Stories by Feature
Organization Selection Screen
View FeatureEach organization participating in the platform uses different terminology. For example, NHF may call the peer helper ro...
First-time users who have just authenticated via BankID or Vipps are entering the app for the first time. The onboarding...
Peer mentors who are members of multiple organizations need to switch between them without going through the full authen...
Returning users should not be required to re-select their organization every session. The tenant-session-store (674-tena...
When a peer mentor opens the app and has completed authentication, they are presented with the Organization Selection Sc...
Blindeforbundet's users include visually impaired peer helpers for whom screen reader support is not a nice-to-have but...
Email and Password Login
View FeatureClient-side email format validation prevents unnecessary network requests and gives users faster, more actionable feedba...
Many peer mentors are not highly technical users and may mistype their password while it is hidden. A password visibilit...
When authentication fails — whether due to wrong credentials, network issues, or a locked account — the peer mentor must...
After a successful email/password login, the app should detect whether the device supports biometric authentication and...
On mobile devices — particularly smaller form factors — the software keyboard can occlude input fields and action button...
Peer mentors need a reliable, straightforward email and password login flow as the foundational authentication method. T...
Session persistence is essential for a field-use app. Peer mentors register activities in brief moments between interact...
The login screen must be fully navigable and operable using iOS VoiceOver and Android TalkBack. Every interactive elemen...
BankID and Vipps Login
View FeatureWhen Vipps Login returns a personnummer in the authentication response, the app displays a confirmation step before stor...
When a peer mentor returns to the app within an active session window, the session resume manager checks whether the exi...
The peer mentor can initiate a logout from the settings screen. Upon logout, the auth session manager invalidates the Su...
When a peer mentor opens the app for the first time or after being logged out, they are presented with an authentication...
The BankID authentication screen launches the native BankID flow, which may be BankID on mobile (app-based) or BankID wi...
The Vipps authentication screen initiates the Vipps Login OAuth flow. The app calls the Vipps API client to get an autho...
After successfully authenticating via BankID or Vipps for the first time, the app presents an option to enable biometric...
The BankID and Vipps login screens must meet WCAG 2.2 AA accessibility requirements, which is explicitly required by all...
Biometric Session Authentication
View FeatureNot all app actions carry the same sensitivity. Registering a 30-minute activity is low-risk; accessing an encrypted con...
Peer mentors may conduct visits in rural areas, care homes, or other locations with poor connectivity. After successful...
The peer mentor must have agency over whether biometric authentication is active on their device. During onboarding afte...
Not all users will have devices with biometric hardware, and some users may have biometric enrollment disabled at the OS...
After completing initial identity verification via BankID or Vipps, the peer mentor should be prompted to enable biometr...
After successful authentication, the Supabase session token and related credentials must be stored in the device's secur...
Role-Based Access Control
View FeatureBefore executing high-impact coordinator actions—bulk activity registration, initiating a peer mentor pause, or approvin...
Some users hold both a coordinator and a peer mentor role within an organization. The role switch widget—accessible from...
Coordinators in large organizations like NHF (with 12 national associations, 9 regions, and 1,400 local chapters) may ad...
When a coordinator authenticates and the system resolves their role, they are directed to a role-specific home screen th...
Every protected route in the application is guarded by a role route guard that checks the current resolved role against...
The role-aware bottom navigation bar renders a tab set dynamically determined by the user's active role. For coordinator...
Quick Activity Registration
View FeatureBefore the final submission, the registration cubit checks the local and remote activity store for a potential duplicate...
An optional attachment step allows the peer mentor to capture a photo using the device camera, select an image from the...
The notes step in the activity registration flow exposes a dedicated microphone button that activates in-app speech-to-t...
While the default is today's date and 30 minutes, peer mentors often register activities after the fact — at the end of...
After confirming the core registration fields, a notes step is available but entirely optional. The step presents a sing...
After submitting a registration the confirmation view shows the details and includes an 'Edit' shortcut for the last sub...
The registration flow must function fully without network access. Submitted registrations are stored in the local SQLite...
The role-specific home screen for peer mentors includes a compact stats summary showing the number of activities registe...
The core quick-registration flow must allow a peer mentor to open the registration bottom sheet, confirm or lightly adju...
Each organisation uses different terminology for activity types (e.g. 'Home Visit', 'Phone Conversation', 'Group Session...
Structured Post-Session Report
View FeaturePeer mentors, particularly those supporting people with visual impairments or those who are older and less comfortable w...
Peer mentors sometimes need to complete reports in multiple sessions — for example, if they are interrupted during repor...
After a peer mentor completes a home visit or session, they need to fill in a structured post-session report. The form p...
The 'way forward' section in the post-session report is a structured list of tasks or action items generated from observ...
Each organisation (NHF, Blindeforbundet, HLF) has different report structures. Blindeforbundet needs fields for health s...
The post-session report feature must be fully accessible to peer mentors who rely on screen readers, particularly given...
Travel & Expense Registration
View FeatureBlindeforbundet requires that drivers transporting contacts sign a confidentiality declaration before or alongside recei...
Before final submission, the peer mentor should be presented with a confirmation screen that summarizes all expense line...
Peer mentors often register expenses directly after home visits or community activities, which may occur in areas with l...
Peer mentors frequently travel to meet contacts and must be able to claim mileage reimbursement quickly from the mobile...
HLF has explicitly requested that expense type selection use fixed choices rather than free text, and that the system te...
For expenses above the configured threshold (100 NOK per HLF policy), a receipt image must be attached. The app should a...
After submitting an expense claim, peer mentors need visibility into its progress through the approval workflow. The app...
Activity Statistics Dashboard
View FeatureA donut or bar chart should visualize the distribution of activity types the peer mentor has logged within the selected...
A monthly bar chart should be displayed on the statistics dashboard, showing the number of activities logged per calenda...
The statistics dashboard must cache the most recently loaded statistics data locally on the device so that the dashboard...
The statistics dashboard should include a view or section that maps the peer mentor's logged activities to the Bufdir re...
Peer mentors need an at-a-glance overview of their key activity metrics displayed as summary stat cards on the statistic...
The statistics dashboard must provide a time window selector that allows peer mentors to choose preset periods (current...
The personal stats view is a role-specific view of the statistics dashboard that shows only the authenticated peer mento...
The entire statistics dashboard must be fully accessible to screen readers including VoiceOver on iOS and TalkBack on An...
Duplicate Activity Detection
View FeatureEvery time the duplicate detection system triggers a warning, the event should be logged with: the two record IDs involv...
Different chapters have different activity patterns. A chapter running daily drop-in sessions may legitimately register...
When a coordinator submits an activity registration — either for themselves or on behalf of a peer mentor — the system s...
Coordinators need a structured interface to manage the backlog of flagged duplicate pairs. The deduplication queue scree...
Peer mentors in NHF may belong to up to five chapters simultaneously. When a peer mentor registered under Chapter A logs...
Coordinators frequently use proxy registration to log activities for peer mentors who lack digital access, and bulk regi...
Contact List Management
View FeatureNHF supports contacts belonging to up to 5 local chapters simultaneously. The chapter affiliations panel must display al...
Blindeforbundet explicitly requested a geographic map view for matching peer mentors to contacts based on location, part...
The contact search feature must provide a debounced search bar at the top of the contact list that queries both the onli...
The edit contact screen must provide a form-based interface for updating contact information with real-time field valida...
The peer mentor detail screen is a specialized view that extends the general contact detail with peer-mentor-specific se...
Both NHF and HLF require a pause function that allows peer mentors to be temporarily deactivated without losing their pr...
Coordinators need a comprehensive contact list screen that displays both regular contacts and peer mentors in a structur...
The contact detail screen must present a complete profile view including personal information, multi-chapter affiliation...
Contact Detail & Edit Screen
View FeatureWithin the contact detail and edit screens, the coordinator can see and manage chapter affiliations. Multi-chapter affil...
Certain contact fields contain sensitive personal data that is stored encrypted at rest. On the contact detail screen, t...
The activity history list component is embedded in the contact detail screen and loads the peer mentor's registered acti...
When the contact record belongs to a user with the peer mentor role, the contact detail screen surfaces a navigation aff...
When a coordinator taps a contact card from the contact list, the contact detail screen loads a complete profile view. T...
From the contact detail screen, the coordinator taps an edit button to navigate to the edit contact screen. All editable...
All interactive elements on the contact detail and edit screens must conform to WCAG 2.2 AA accessibility standards, whi...
Peer Mentor Profile & Status Screen
View FeatureThe mentor-activity-summary-panel on the profile screen should display aggregated statistics: total activities in the la...
NHF has a particularly complex organizational structure (12 national associations, 9 regions, 1,400 local chapters) and...
The peer mentor profile screen must be easily accessible from the main app navigation. Based on the current architecture...
HLF specifically requires that when a peer mentor's certification expires, they are automatically removed from local cha...
The pause feature (SHOULD HAVE, Phase 2) allows peer mentors to temporarily deactivate themselves without leaving the or...
The peer mentor profile screen should include an assigned-contacts-list section that shows all contacts currently assign...
HLF requires that when a peer mentor's certification expires, they are automatically removed from the chapter's public w...
When a peer mentor navigates to their profile screen, they should see a consolidated view of all relevant information: t...
Peer Mentor Pause & Reactivation
View FeatureWhen a peer mentor initiates a pause they should have the option to provide an expected return date. This date helps coo...
The app should make the peer mentor's current status immediately visible on their home screen and profile page. A persis...
Peer mentors need a lightweight way to signal that they are temporarily unavailable without going through a full offboar...
A paused peer mentor should be able to self-reactivate directly within the app. The reactivation flow should be as simpl...
HLF uses certification expiry as a trigger for automatic removal of peer mentors from the chapter's public website. When...
Contact & Notes Search
View FeatureCoordinators frequently access the same small set of active contacts and peer mentors during periods of intensive coordi...
Contact records accumulate notes and post-session report summaries over time. When a coordinator needs to find, for exam...
In organizations like NHF with up to 1,400 local chapters, or when a coordinator oversees multiple chapters, a simple na...
Coordinators and peer mentors often operate in environments with unreliable connectivity — home visits, rural areas, or...
Coordinators manage large rosters of contacts and peer mentors across one or more chapters. Finding a specific person in...
All three organizations serve users with diverse accessibility needs — Blindeforbundet's user base in particular require...
Expense Type Selection with Mutual Exclusion
View FeatureThe expense type analytics tracker records anonymised selection events including: which expense type was chosen, whether...
The expense calculation preview component renders a summary panel below or adjacent to the expense type picker and detai...
The expense type picker and mutual exclusion feedback must meet WCAG 2.2 AA requirements as required by all three worksh...
When registering an expense claim, the peer mentor is presented with a clearly labelled list of predefined expense types...
The mutual exclusion rule engine evaluates the currently selected expense types against a set of organisation-defined ex...
Mileage Reimbursement Entry
View FeatureAfter submitting a mileage claim, peer mentors need visibility into its progress through the approval workflow. A claim...
Many peer mentors visit the same contacts repeatedly, making the same trip week after week. The distance prefill service...
Transparency in reimbursement calculations builds trust between peer mentors and their organizations. As the mentor ente...
HLF requires receipt attachment for expenses above NOK 100. The app must evaluate the claim amount against the org-confi...
HLF explicitly requires that the app make mutually exclusive expense combinations technically impossible to select. A pe...
Peer mentors frequently travel to meet contacts and need a quick, frictionless way to log mileage claims. The form shoul...
Receipt Capture and Attachment
View FeaturePeer mentors often register expenses immediately after visits in locations with poor connectivity. The app must allow of...
From the expense claim history or claim status screen, the peer mentor can tap on a submitted claim to view its details,...
After attaching a receipt, the peer mentor can tap the thumbnail to open a full-screen preview modal. From the preview,...
The receipt threshold configuration is org-specific (e.g., 100 NOK). When the peer mentor enters an expense amount that...
When registering an expense claim that exceeds the organization's threshold (e.g., 100 NOK for HLF), the peer mentor mus...
When the peer mentor submits an expense claim with an attached receipt, the image is uploaded to Supabase Storage via th...
Push Notification Delivery
View FeatureA notification preferences screen allows peer mentors to toggle specific notification categories on or off independently...
When a coordinator approves or activates a pause for a peer mentor, the backend dispatches a confirmation push notificat...
The system evaluates open assignments against configurable thresholds (e.g., 10 days with no registered activity for a c...
The notification centre is a persistent in-app inbox that stores all notifications delivered to the user, regardless of...
A nightly edge function checks all active peer mentor certifications for upcoming expiry dates. Notifications are dispat...
Every push notification dispatched by the system must carry a deep link payload that resolves to a specific in-app route...
When a coordinator assigns a new contact or task to a peer mentor, the system must deliver a push notification to the me...
The app must request notification permissions at the right moment during the onboarding flow, after the user has seen th...
Assignment Follow-up Reminders
View FeatureCoordinators managing many peer mentors need a single overview screen that surfaces assignments requiring attention, sor...
In addition to automated reminders, coordinators must be able to send an immediate manual reminder from the assignment d...
For accountability and audit purposes — especially relevant for Bufdir reporting and for organizations like Blindeforbun...
Beyond time-based reminders, coordinators benefit from scenario-based triggers that reflect actual workflow events. For...
Coordinators need to set organization- or chapter-level reminder thresholds so the system automatically notifies peer me...
When a peer mentor has not logged any contact for an assignment within the escalation window, the coordinator must be pr...
Certificate Expiry Notifications
View FeatureAll certification expiry notifications are persisted in the notification repository and accessible from the notification...
HLF peer mentors hold a physical certification card that must be renewed periodically. When a certificate is approaching...
The certification status screen provides the peer mentor with a clear overview of their active certifications, each show...
When a peer mentor's certification is within the 30-day warning threshold, a dismissible (but re-appearing) banner is sh...
When the expiry check detects that a peer mentor's certification has passed its expiry date, the system transitions from...
After a peer mentor completes a renewal course in HLF's Dynamics portal, the certification record should be updated in t...
This story captures the automated suppression behavior triggered at certification expiry. The mentor visibility suppress...
Pause Status Change Notifications
View FeatureCoordinators managing large chapters may receive many pause notifications per week and need granular control over notifi...
The peer mentor detail screen must include a pause history section that displays a timeline of all past pause events: st...
The coordinator-pause-roster-screen must present a filtered, sortable list of all peer mentors currently in a paused sta...
HLF requires that a peer mentor with an expired certification is automatically hidden from the local chapter's public we...
When a paused mentor taps the reactivation toggle and confirms through the pause-confirmation-dialog, the pause-notifica...
When a peer mentor taps the pause toggle on their profile and confirms through the pause confirmation dialog, the system...
Scenario-based Follow-up Prompts
View FeatureCoordinators need visibility into the scenario notification pipeline to understand whether automated prompts are driving...
The scenario prompt scheduler must support time-window constraints on both evaluation frequency and notification deliver...
Generic notifications like 'Please log your activity' are less effective than personalized ones like 'Hi Anna — it's bee...
HLF's survey found that 40% of peer mentors were unsatisfied with follow-up quality. Coordinators need a configuration i...
The value of a scenario prompt is largely determined by how easy it is to act on. A vague notification that drops the us...
In-app Notification Centre
View FeatureThe scenario trigger engine evaluates predefined rules against each peer mentor's data (activity frequency, contact enga...
The notification preferences screen is accessible via a settings icon in the Notification Centre app bar. It displays a...
When a pause or reactivation event is recorded (by the mentor or coordinator), the pause-notification-orchestrator creat...
A horizontally scrollable filter bar sits below the page header on the Notification Centre screen. Each chip represents...
Each notification list item supports two read-marking interactions: tapping to open the notification detail (which marks...
The reminder system evaluates each peer mentor's contact assignments against their last registered activity date. When t...
When the certification expiry check edge function detects a certification within the expiry warning window (e.g. 30 days...
Tapping a notification list item that does not have a direct entity deep link (or when the notification has rich content...
The Notification Centre screen presents a unified inbox of all in-app notifications relevant to the peer mentor. Notific...
Each notification record contains a deep_link_path string that encodes the destination route and the relevant entity ID...
Annual Impact Summary (Wrapped)
View FeatureFrom within the annual summary screen, the peer mentor can tap a share button to generate a branded, screenshot-ready im...
Within the annual summary experience, a badge shelf displays all badges the peer mentor has earned — both during the cur...
The summary period selector allows the peer mentor to choose which time period their summary covers. Options include the...
The annual summary is cached locally on the device after the first successful load. When the peer mentor opens the summa...
When the nightly scheduler runs the annual summary generation job (typically at the beginning of a new year, or at confi...
Within the annual summary, a dedicated activity type breakdown section shows the distribution of activity types (e.g., h...
When a peer mentor opens the Wrapped summary screen, they are presented with an animated, card-by-card breakdown of thei...
Achievement Badges & Status Recognition
View FeatureWhen the badge evaluation service determines that a peer mentor has just crossed a badge threshold (e.g., completing the...
Recognition tiers (e.g., Bronze, Silver, Gold, Platinum) are defined per organisation and based on cumulative activity m...
When the badge criteria edge function awards a new badge to a peer mentor, a push notification is dispatched via FCM to...
The annual wrapped summary screen includes a dedicated section for badges earned during the selected year, shown alongsi...
Peer mentors accumulate badges over time as they complete milestones such as a certain number of sessions, years of serv...
The badge detail modal, accessible from both earned and locked badge cards, explains exactly what a peer mentor must do...
All badge-related UI components must meet WCAG 2.2 AA standards and be fully operable via VoiceOver (iOS) and TalkBack (...
Periodic Activity Summaries
View FeatureThe summary scheduler runs on a configurable cadence (monthly, half-yearly, yearly) and triggers summary generation for...
At the end of each year, the system generates a Wrapped-style full-screen summary experience for each peer mentor. The e...
From the periodic summary screen, a share button generates a visually polished shareable image (screenshot capture) cont...
The period comparison widget allows a peer mentor to select two distinct periods and view their key metrics (total activ...
The outlier detection service analyzes a peer mentor's activity history and flags periods that deviate significantly fro...
Peer mentors need a compelling, Spotify Wrapped-style summary that aggregates their activities across a chosen time wind...
Scenario-Based Engagement Push Notifications
View FeatureThe notification preferences screen presents the peer mentor with a grouped list of notification types. The scenario-bas...
When the Supabase realtime subscription service detects a new scenario notification record inserted for the current user...
The notification centre screen displays all notification records for the current user, sourced from the notification rep...
The scenario engine evaluates each peer mentor's activity history on a scheduled basis. When a defined inactivity thresh...
When a peer mentor taps a scenario-based notification from the notification centre or from a system tray tap, they are n...
Membership Recruitment (Verving)
View FeaturePeer mentors invest personal effort in recruitment conversations and deserve visibility into outcomes. This story provid...
Recruitment is a significant contribution that often goes unacknowledged. This story connects the recruitment attributio...
Peer mentors often struggle to articulate the concrete value of membership during recruitment conversations. This story...
The period immediately after a new member joins is when personal connection matters most. This story ensures that when a...
Peer mentors are on the front lines of member recruitment, regularly meeting with individuals who could benefit from org...
Peer mentors communicate with prospective members through many different channels — some prefer SMS, others WhatsApp, em...
Volunteer Benefit Calculator
View FeatureOnce a benefit calculation is displayed, the peer mentor can tap a share button on the benefit-results-card to invoke th...
Below the top-level benefit-results-card, a row of benefit-metric-tile components displays the calculated contribution b...
Peer mentors invest significant time and energy into supporting others, but that contribution is often invisible. This s...
The calculator input panel provides period selection controls that allow the peer mentor to switch between preset period...
The Benefit Calculator must be discoverable and reachable through the standard app navigation with minimal cognitive eff...
For Blindeforbundet and other organizations serving users with visual impairments, full screen reader compatibility is n...
Screen Reader Support
View FeatureMany app interactions result in asynchronous or dynamic content changes: a registration is submitted and a success banne...
The post-session report is a structured document unique to Blindeforbundet, covering health status, course interest, ass...
The notification centre is a central hub for time-sensitive information — assignment arrivals, certification expiry warn...
Confidence in screen reader support requires ongoing automated verification, not just initial implementation. The access...
Peer mentors with visual impairments, particularly those working within Blindeforbundet, rely entirely on screen readers...
Peer mentors frequently work in public settings — coffee shops, transit, community centres — and may have their screen r...
Activity registration is the most critical workflow in the app and must be fully accessible. The multi-step activity wiz...
Cognitive Accessibility
View FeatureAs the app evolves, new screens and components risk introducing cognitive accessibility regressions — too many choices o...
Accidental submissions are especially problematic for users with motor impairments or cognitive challenges. Before any a...
Peer mentors with lower digital literacy or cognitive challenges frequently get stuck on ambiguous form fields or unfami...
Peer mentors, especially those with cognitive challenges, are frequently interrupted during registration (phone calls, n...
Screens requiring high-stakes decisions (submitting an expense, confirming a bulk registration, acknowledging a declarat...
Peer mentors, including those who have experienced strokes or have cognitive challenges, need a guided wizard interface...
Technical or ambiguous error messages create anxiety and confusion for users with cognitive challenges, stroke survivors...
Disorientation and getting 'stuck' are major barriers for users with cognitive challenges. The app must maintain consist...
Visual Design Accessibility
View FeatureThe app serves NHF, Blindeforbundet, HLF, and Barnekreftforeningen — each with distinct brand identities. The theme-buil...
Many peer mentors, particularly older volunteers, rely on their device's system font size setting. Flutter's text scalin...
The workshop requirement explicitly states: 'avoid thin/italic fonts'. The accessible-text-style-system must define a ty...
The workshop documentation explicitly states: 'back button preferred over sideways swipe, vertical scroll is the norm'....
The interactive-control-spacing-system defines a set of spacing tokens that govern the minimum distance between adjacent...
The accessibility-token-manifest defines the complete set of accessibility constraints applied to the design token syste...
The app must enforce a contrast-safe color palette system where no UI element is rendered below WCAG 2.2 AA contrast thr...
Peer mentors with motor impairments (NHF specifically targets stroke survivors and people with physical disabilities) fr...
Navigation & Gesture Accessibility
View FeatureAccessibility compliance for navigation elements (bottom nav, back buttons, modals, scroll containers) must be validated...
Using StatefulShellRoute, each bottom navigation tab must preserve its full scroll position, selected item, and sub-navi...
The workshop documentation explicitly identifies vertical scrolling as the norm and states that horizontal swiping shoul...
Focus management is one of the most complex and frequently broken aspects of accessibility in Flutter apps with rich nav...
Peer mentors using the app include individuals with motor impairments, stroke survivors, and elderly users who may strug...
The five-tab bottom navigation bar (Home, Contacts, Add, Work, Notifications) is the primary structural navigation eleme...
The app uses bottom sheet modals extensively for activity registration, proxy registration, and confirmation dialogs. Fo...
Speech-to-Text Input
View FeatureThe post-session report for Blindeforbundet includes a structured 'way forward' section covering health status, course i...
Peer mentors frequently complete post-session reports immediately after emotionally and physically demanding sessions. T...
Raw speech recognition output frequently contains errors on names, medical terms, and organisation-specific vocabulary....
Peer mentors, especially those with hearing impairments (HLF user base) or low digital literacy, need unambiguous feedba...
Not all form fields should support dictation. Login fields, encrypted fields, and fields marked as restricted by the org...
Organization Selection & Onboarding
View FeatureNew peer mentors go through an onboarding flow after their first organization selection. This may include confirming the...
Each partner organization has its own visual identity. After organization selection, the org branding cache loads the or...
Peer mentors affiliated with multiple organizations (a scenario specifically called out for NHF with up to 5 local chapt...
Each partner organization (NHF, Blindeforbundet, HLF, Barnekreftforeningen) uses different terminology for the same conc...
Different organizations have contracted different feature sets, and some features are in staged rollout. The feature fla...
When a peer mentor successfully authenticates, the app must resolve their organization memberships and present a clear s...
Supabase Row Level Security (RLS) policies must be configured at session initialization based on the active tenant conte...
Dynamic Terminology & Labels System
View FeatureDuring incremental rollout — a requirement shared by all partner organizations — the dynamic terminology system must sup...
Coordinators need confidence that the terminology configured centrally for their organization (e.g., 'likeperson' vs 'pe...
Blindeforbundet and NHF both have users who rely on screen readers. The WcagSemanticsLabelResolver bridges the dynamic t...
Peer mentors from Blindeforbundet conduct home visits in all regions of Norway, often with intermittent connectivity. Th...
The dynamic terminology system must seamlessly replace generic label keys with organization-specific values everywhere i...
The TerminologySyncService is responsible for pulling the current organization's label configuration from the Supabase b...
Organization-scoped Feature Flags
View FeatureWhen configuring a feature flag, administrators can set a rollout percentage (0–100%) in addition to the binary on/off s...
The feature flag admin screen includes an audit log section or dedicated history view showing all flag change events for...
The feature flag admin screen provides a centralized view of all configurable feature flags scoped to the administrator'...
Toggling a feature flag must be a deliberate, two-step action to prevent accidental activation or deactivation. After ta...
The feature-flag-initializer fetches the full flag configuration for the authenticated user's organization on startup an...
The feature-gate-widget wraps any UI element or navigation destination and consults the feature-flag-provider to determi...
All feature flag reads and writes must pass through Supabase RLS policies that restrict access to rows matching the auth...