Coordinator
Coordinators are paid or senior volunteer staff within each member organization who manage the day-to-day operations of the peer mentor programme. They oversee a roster of peer mentors, handle assignment matching, review and approve expense claims, perform proxy registrations for mentors who cannot use the app, and generate Bufdir reports for their chapter or region. Coordinators are the operational backbone of the app — most administrative workflows flow through this role.
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...
Activity Type Configuration
View FeatureWhen an activity type becomes obsolete, deleting it would break historical activity records. Instead, coordinators archi...
The coordinator needs a dedicated admin screen that lists all activity types defined for their organization. Each activi...
When a coordinator needs a new activity type, they open the activity type form screen and fill in all relevant metadata....
Coordinators must be able to update activity types as organizational needs evolve—terminology changes, Bufdir reporting...
When defining or editing an activity type, the coordinator can toggle whether this type typically involves expense regis...
Each activity type must be assigned a Bufdir category (e.g., individual guidance, group activity, telephone support, dig...
The activity type selection screen is the first step in the activity registration bottom sheet. It must present only the...
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...
Bulk & Proxy Registration
View FeatureMany coordinator-managed activities are highly predictable: a weekly group session on Thursdays with the same participan...
Proxy registration introduces accountability complexity: activities appear in the peer mentor's history but were entered...
Coordinators need the ability to act as a proxy for individual peer mentors when registering activities. This is critica...
Coordinators frequently organize group activities where multiple peer mentors participate simultaneously — weekly group...
Duplicate registrations are a known risk in multi-coordinator environments — NHF specifically flagged this as a unique c...
In larger chapters, coordinators may be responsible for dozens of peer mentors. An unfiltered flat list makes peer mento...
The documentation cites HLF where 60–70% of registrations require no reimbursement and should be 'extremely simple.' The...
Bulk registration by definition affects many records simultaneously. An accidental wrong date or wrong activity type ent...
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...
Bufdir Report Export
View FeatureFor large organizations with thousands of activity records, Bufdir export generation — including data aggregation, parti...
NHF identified document attachments to activities as an important feature for Bufdir auditability — specifically invitat...
Before committing to a Bufdir export, coordinators need confidence that the generated report is correct and complete. Th...
Bufdir's submission requirements and the internal archiving needs of each organization differ. Some coordinators submit...
Grant audits often require organizations to produce historical reports. Coordinators also need to compare submissions ac...
Organizations like NHF have complex hierarchies: 12 national associations, 9 regions, and up to 1,400 local chapters. A...
Coordinators spend significant time manually compiling activity data from various sources to meet Bufdir grant reporting...
Bufdir reporting is tied to specific funding periods — typically semi-annual or annual cycles. Coordinators need a perio...
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...
Multi-Chapter Membership Handling
View FeatureThe statistics screens for both peer mentors and coordinators must apply chapter-scope filtering when loading data for m...
Contact cards in the contact list and the contact detail screen should display chapter affiliation chips for peer mentor...
The chapter assignment editor must support a soft-delete (end-date) operation for affiliations. Setting an affiliation t...
A contact detail screen must display all chapters a peer mentor is affiliated with. NHF members can belong to up to 5 lo...
When a coordinator registers an activity for a peer mentor who belongs to multiple chapters, the system must query all c...
When a peer mentor is affiliated with more than one chapter, the activity registration wizard must prompt the coordinato...
The chapter assignment editor must support additive operations. Adding a peer mentor to a new chapter is a non-destructi...
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...
Coordinator Proxy Registration for Contacts
View FeatureRecurring activities such as weekly group peer mentor sessions share the same activity type, duration, and often the sam...
Proxy registrations introduce a layer of delegation that requires transparency. Coordinators need a personal audit view...
Coordinators manage recurring group activities — weekly training sessions, monthly group meetings — with many participan...
NHF specifically raised the risk of duplicate activity registrations when multiple coordinators manage overlapping peer...
Not all peer mentors are willing or able to use the app themselves. The coordinator needs a dedicated proxy registration...
Organisational boundaries are critical in a multi-chapter structure with up to 1,400 local chapters (NHF) and complex hi...
Geographic Peer Mentor Map View
View FeatureNot all coordinator tasks benefit from a map view. When reviewing certification statuses across the chapter, a sortable...
Norwegian coordinators frequently work in rural and remote areas where network connectivity is unreliable. The map provi...
Coordinators managing large counties or regions need a geographic overview of where peer mentors are located relative to...
Having all peer mentors on the map is useful, but coordinators need to find the right mentor for a specific contact need...
The mentor-info-popup is a lightweight overlay rendered directly on the map when a marker is tapped. It must load instan...
The map's value depends on how many peer mentors have consented to share their approximate location. Coordinators need v...
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...
Threshold-Based Expense Approval Workflow
View FeatureEach organization may have different threshold rules — for example, HLF uses automatic approval for claims under 50 km w...
While automatic approval reduces coordinator workload, coordinators retain accountability for all reimbursements process...
For organizations with high claim volumes, processing claims one by one is impractical. A bulk approval bar appears when...
Every state transition in an expense claim — submitted, under review, auto-approved, manually approved, rejected, export...
When a peer mentor submits an expense claim that exceeds the automatic approval threshold, the system must notify all co...
HLF requires receipts for any expense above 100 NOK. The system should enforce this rule at submission time so that inco...
Coordinators need a clear, actionable review queue that shows only claims that have exceeded the automatic approval thre...
When a coordinator taps a claim in the queue, they are presented with the full claim detail: expense type breakdown, mil...
Driver Administration and Confidentiality Declarations
View FeatureThe driver administration and confidentiality declaration feature is specific to certain organizations (currently Blinde...
Coordinators need to manage drivers who transport peer mentors to home visits or other locations. This story covers the...
Coordinators may manage multiple simultaneous assignments with different drivers. This story provides a consolidated vie...
After a driver completes an assignment, the coordinator registers the honorarium fee using a dedicated form. The form pr...
When a driver opens and signs the confidentiality declaration, the system sends the coordinator a push notification. The...
Before a driver receives any information about the peer mentor's contact (name, address, health context), they must sign...
Accounting System Export and Integration
View FeatureNot all organizations have immediate API access to their accounting systems, and some may prefer manual file import work...
Some expense types (e.g., internal recognition awards, non-cash benefits) should never flow into the accounting system e...
The export history panel shows a chronological list of all export runs for the organization, with metadata including exp...
Different organizations use different account codes (e.g., Xledger account 6800 for mileage vs. Dynamics cost center cod...
The integration health monitor continuously checks reachability and authentication status of the connected accounting sy...
Coordinators need a reliable, one-click export flow that collects all approved claims within a chosen period and pushes...
Organizations connect to different accounting backends (Xledger for Blindeforbundet, Dynamics portal for HLF). Coordinat...
The double-export guard checks the export-run-repository before any export is executed to determine whether any claims i...
Bufdir Data Aggregation
View FeatureBufdir grants often require documentation of geographic reach. The geographic distribution service computes how activiti...
Coordinators must retain records of all Bufdir submissions for audit purposes and to respond to Bufdir queries about his...
Organisations like NHF have members affiliated with up to five local chapters, meaning a single peer-mentoring recipient...
After aggregation completes, the coordinator should be able to view the report in Bufdir's expected structure — section...
Bufdir applies specific validation rules to submitted data — for example, participant counts must be positive integers,...
Coordinators need to define the time window for which activity data will be aggregated before generating Bufdir reports....
Once a period is confirmed, the coordinator initiates aggregation. The aggregation service fetches all activity records...
Bufdir requires activity data to be submitted using its own category schema, which differs from the internal activity ty...
The platform serves multiple organisations (NHF, Blindeforbundet, HLF, Barnekreftforeningen) on shared infrastructure. D...
Once the coordinator confirms the preview is correct, they initiate the export. The system generates the file in the sel...
Bufdir Report Period Selection
View FeatureMany organizations submit Bufdir reports on a fixed schedule — quarterly or annually — and always use the same period st...
A common mistake in manual reporting workflows is accidentally leaving an unreported gap between two consecutive submiss...
Some organizations have non-standard grant cycles or may need to produce supplementary reports covering irregular window...
Before committing to a reporting period, coordinators need confidence that the data scope is correct. The record count b...
Bufdir imposes structural requirements on reporting periods — for instance, reports must cover complete calendar months...
Coordinators need to generate Bufdir reports regularly, often for standard time windows aligned with grant cycles and No...
Bufdir Report Preview
View FeatureThe bufdir-period-diff-view component renders a comparison between the current period's aggregated values and the equiva...
The bufdir-report-structure-mapper translates internal activity type IDs into the official Bufdir category taxonomy. The...
The preview screen acts as a confirmation step in the Bufdir export workflow. Upon completing their review, coordinators...
Coordinators need a full-fidelity preview of the Bufdir report that mirrors the official submission format. The preview...
The bufdir-validation-summary-banner aggregates all field-level validation results produced by the bufdir-field-validati...
The bufdir-accessibility-utils component provides semantic labeling, live region announcements, and focus management for...
The bufdir-preview-service queries the bufdir-aggregation-service and bufdir-metrics-repository to retrieve pre-computed...
Bufdir Report History & Audit Log
View FeatureFrom the report history screen, coordinators must be able to trigger a re-export of any past report. The system should r...
From the Bufdir preview or history screen, coordinators should be able to trigger a period diff view that displays key m...
The report history screen must provide filter controls allowing coordinators to narrow the list by calendar year (dropdo...
Coordinators need a dedicated history screen that lists all previously submitted Bufdir reports, including the reporting...
Each report in the history list should have an expandable or linked detail view that displays the summary metrics widget...
Each report history entry must expose an audit trail panel listing timestamped events: report generation initiated, vali...
All file downloads from the report history screen must be served through signed, time-limited URLs generated by the serv...
Proxy & Bulk Activity Registration
View FeatureMany coordinators manage the same recurring group activities week after week — for example, a fixed Tuesday training ses...
Coordinators acting as proxies are accountable for the accuracy of registrations they make on behalf of others. The syst...
When a coordinator needs to register an activity on behalf of a specific peer mentor, they must first select that mentor...
Coordinators frequently manage group activities where many peer mentors participate in the same event at the same time (...
Since both peer mentors and coordinators may register the same activity independently (e.g., a mentor self-registers a s...
Reducing cognitive load and the number of required interactions is critical for adoption, particularly for coordinators...
Organizations such as NHF have complex hierarchies with up to 1,400 local chapters. A coordinator must only be able to r...
Peer Mentor Pause & Status Management
View FeatureWhen the pause confirmation dialog is presented, the peer mentor can optionally select an expected return date using a d...
Coordinators can pause or reactivate peer mentors directly from the coordinator pause roster screen, for example when a...
Peer mentors sometimes need to step back temporarily due to personal circumstances, health, holidays, or workload. The a...
The peer mentor's home screen and profile must prominently display their current status using a visual indicator. When p...
Reactivation is the mirror action of pausing. The peer mentor taps the pause/reactivate toggle from their home screen or...
For organisations like HLF, a peer mentor's active status is tied to a valid certification. When the certification appro...
Bufdir Reporting & Export
View FeatureBufdir has a specific taxonomy of activity types that they accept in reports. If peer mentors register activities using...
For organizations that have API access configured with Bufdir, the export flow can include a direct API submission step....
The report history screen lists all Bufdir exports generated by coordinators within the organization, ordered by date. E...
Organizations like NHF have complex hierarchies (12 national associations, 9 regions, 1,400 local chapters). Bufdir repo...
Coordinators must submit periodic reports to Bufdir documenting peer mentor activity within their organization. Before g...
After selecting a reporting period, the coordinator is shown a structured preview of the Bufdir report. The preview rend...
The core of the Bufdir reporting feature is the automated data aggregation pipeline. When a coordinator initiates a repo...
After previewing and validating the report, the coordinator selects the desired output format. The export trigger screen...
Document Attachments for Activities
View FeatureMistakes happen during upload — the wrong screenshot is selected, a blurry photo is submitted, or a file is attached to...
Complex activities — such as group workshops or public events — often require multiple forms of evidence: a posted invit...
Peer mentors frequently operate in community centers, private homes, or outdoor venues where connectivity is unreliable....
Peer mentors often facilitate group activities with supporting materials — printed invitations, Facebook event screensho...
After an activity has been submitted, the peer mentor needs to confirm which documents are attached — both for their own...
Several member organizations — particularly Blindeforbundet and NHF — serve peer mentors with visual impairments or cogn...
Peer Mentor Certification Management
View FeatureWhen a peer mentor's certification is within the warning threshold, the app should surface an in-context course enrollme...
When a peer mentor's certification expires or is close to expiring, the app must clearly communicate the consequences: t...
The peer mentor profile header and detail screen should display a certification status badge that dynamically reflects t...
The certification screen should include a history section showing all past certifications with their issue dates, expiry...
Peer mentors need a dedicated certification status screen that shows their active certification record, the exact expiry...
The system must proactively notify peer mentors via push notification at defined thresholds (e.g., 90, 60, and 30 days b...
Coordinator Statistics Dashboard
View FeatureCoordinators who are also active peer mentors need a personal stats view alongside the team view. A tab or toggle on the...
The monthly activity bar chart must render using fl_chart via the fl-chart-adapter component. Each bar represents one ca...
The activity type donut chart must display each configured activity type as a colored segment, with a legend listing typ...
The Bufdir alignment validator component must analyze the aggregated statistics for the coordinator's chapter against co...
The coordinator statistics dashboard must present high-level KPIs in scannable summary cards immediately upon opening th...
The stats period filter bar must appear at the top of the coordinator statistics dashboard and persist the selected wind...
The peer mentor stats list must appear below the charts on the coordinator statistics dashboard and display one row per...
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...
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...
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...
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...
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...
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...