medium complexity extracted Notifications & Follow-up Confidence: 100%
9
Components
198
Shared
12
User Stories
Yes
Analyzed

Description

Automatic reminder system that fires when a peer mentor has not recorded any contact with an assigned person within a configurable window (default 10 days, per Blindeforbundet's requirement). The reminder is sent as a push notification and also surfaced in the in-app Notifications tab with a clear call-to-action linking directly to the assignment. Coordinators receive a parallel escalation alert if the peer mentor has not responded to the reminder within a secondary window. This creates a lightweight accountability loop without requiring coordinators to manually track open assignments. All reminder timings are configurable per organisation to accommodate different working rhythms.

Analysis

Business Value

Directly requested by Blindeforbundet as a core requirement. Prevents assignments from falling through the cracks and ensures clients receive timely contact, which is the primary purpose of the peer mentor programme.

Implementation Notes

Schedule reminder jobs via Supabase pg_cron or Edge Function cron triggers. Store last_contact_date per assignment and diff against current date. Coordinator escalation fires N days after peer mentor reminder with no recorded activity. Make thresholds configurable in org settings table.

Components (207)

User Interface (3)

Service Layer (3)

Data Layer (2)

Infrastructure (1)

Shared Components

These components are reused across multiple features

User Interface (59)

ui Role Switch Widget medium Shared ui Role-Aware Bottom Navigation medium Shared ui Activity Type Selection Screen low Shared ui Speech-to-Text Field Overlay medium Shared ui Receipt Capture Widget medium Shared ui Peer Mentor Single Selector low Shared ui Proxy Audit Badge Widget low Shared ui Export Period Picker low Shared ui Contact Card Widget low Shared ui Contact Search Bar low Shared ui Peer Mentor Card Widget low Shared ui Activity History List low Shared ui Multi-Chapter Affiliation Chip Widget medium Shared ui Certification Status Badge low Shared ui Duplicate Activity Warning Dialog medium Shared ui Mentor Multi-Select Widget medium Shared ui Map Filter Panel medium Shared ui Claim Status Badge low Shared ui Export Date Range Picker low Shared ui Custom Date Range Picker low Shared ui Duplicate Activity Warning Dialog low Shared ui Proxy Activity Form medium Shared ui Proxy Peer Mentor Selector medium Shared ui Expected Return Date Picker low Shared ui Pause Activation Screen low Shared ui Pause Status Indicator low Shared ui Admin KPI Stat Widget low Shared ui Organisation Hierarchy Navigator high Shared ui Bufdir Period Selector Widget low Shared ui Export History List medium Shared ui Activity Type Donut Chart medium Shared ui Monthly Activity Bar Chart medium Shared ui Statistics Period Filter Bar low Shared ui Statistics Summary Cards low Shared ui Notification Badge Widget low Shared ui Certificate Expiry Status Indicator low Shared ui Animated Stat Card Widget medium Shared ui In-App Notification Banner low Shared ui Accessible Modal Sheet Widget high Shared ui Live Region Announcer medium Shared ui Semantics Wrapper Widget medium Shared ui Sensitive Field Warning Dialog high Shared ui Confirm Before Submit Screen medium Shared ui Inline Contextual Help Widget low Shared ui Labelled Navigation Bar low Shared ui Plain Language Error Display low Shared ui Single-Action Screen Layout medium Shared ui Wizard Progress Indicator low Shared ui Accessible Text Style System medium Shared ui Accessible Touch Target Wrapper low Shared ui Contrast-Safe Color Palette Widget medium Shared ui Accessible Bottom Navigation Bar medium Shared ui Modal Close Button low Shared ui Persistent Back Button low Shared ui Vertical Scroll Container low Shared ui Organization Card Widget low Shared ui Terminology-Aware Text Widget low Shared ui FeatureGate Widget low Shared ui Chapter Switcher medium Shared

Service Layer (52)

service Authentication Service medium Shared service Authentication Session Manager medium Shared service Biometric Authentication Service medium Shared service Biometric Authentication Service medium Shared service Biometric Authentication Service medium Shared service Permission Checker Service medium Shared service Role State Manager medium Shared service No-Access Route Guard low Shared service Activity Type Metadata Resolver low Shared service Chapter Scope Resolver medium Shared service Organisation Hierarchy Resolver medium Shared service Coordinator Notification Service medium Shared service Duplicate Activity Detection Service high Shared service Mentor Filter Service low Shared service Receipt Threshold Validator low Shared service Approval Status Notification Service medium Shared service Threshold Evaluation Service medium Shared service Declaration Encryption Service high Shared service Organization Feature Flag Service low Shared service Participant Deduplication Service high Shared service Reporting Period Service medium Shared service Activity Attribution Service low Shared service Proxy Duplicate Detection Service medium Shared service Pause Management Service medium Shared service Pause Notification Service medium Shared service Admin Export Service medium Shared service Admin Row-Level Security Guard high Shared service Organisation Hierarchy Service high Shared service User Management Service high Shared service Role Access Validator low Shared service Peer Mentor Stats Aggregator medium Shared service Push Notification Dispatcher medium Shared service Notification Preference Service low Shared service Scenario Deep-Link Router medium Shared service Scenario Notification Content Builder medium Shared service Badge Criteria Integration medium Shared service Activity Summary Aggregator low Shared service Focus Management Service medium Shared service Screen Reader Detection Service medium Shared service Sensitive Field Privacy Guard high Shared service Plain Language Content Service medium Shared service Wizard State Manager medium Shared service Tab State Manager medium Shared service Organization Route Guard medium Shared service Tenant Context Service high Shared service Label Key Resolver Service low Shared service Organization Labels Notifier medium Shared service FeatureFlagProvider (Riverpod) medium Shared service Access Scope Service high Shared service Hierarchy Aggregation Service high Shared service Hierarchy Service high Shared service Unit Assignment Service medium Shared

Data Layer (33)

Infrastructure (54)

infrastructure Keyboard-Aware Layout Utility low Shared infrastructure Supabase Auth Client low Shared infrastructure Deep Link / OAuth Redirect Handler medium Shared infrastructure Secure Storage Adapter low Shared infrastructure Supabase Session Manager medium Shared infrastructure URL Launcher Utility low Shared infrastructure Local Storage Adapter low Shared infrastructure Supabase Activity Client low Shared infrastructure Organization Labels Provider low Shared infrastructure Supabase Client low Shared infrastructure Organisation Field Config Loader medium Shared infrastructure Speech-to-Text Adapter medium Shared infrastructure File Download Handler low Shared infrastructure Duplicate Reviewed Flag Middleware low Shared infrastructure Contact RLS Query Builder low Shared infrastructure Contact Form Validator low Shared infrastructure Design Token Theme low Shared infrastructure Organization Labels Provider low Shared infrastructure Supabase Client Provider low Shared infrastructure Search Debounce Utility low Shared infrastructure Expense Type Analytics Tracker low Shared infrastructure Receipt Image Picker Integration low Shared infrastructure CSV / JSON File Generator medium Shared infrastructure Coordinator Role Guard low Shared infrastructure Nightly Job Scheduler medium Shared infrastructure Supabase RLS Policy Configuration high Shared infrastructure Export File Storage Adapter low Shared infrastructure Supabase Storage Adapter low Shared infrastructure Peer Mentor Pause Management Service medium Shared infrastructure Push Notification Service medium Shared infrastructure fl_chart Adapter medium Shared infrastructure Push Notification Service low Shared infrastructure FCM Push Notification Sender medium Shared infrastructure FCM Notification Dispatcher medium Shared infrastructure Push Notification Dispatcher medium Shared infrastructure Supabase Realtime Subscription Service medium Shared infrastructure Organisation Data Isolation Guard low Shared infrastructure Push Notification Dispatcher medium Shared infrastructure Deep Link Handler medium Shared infrastructure QR Code Generator low Shared infrastructure Share Sheet Bridge low Shared infrastructure Semantics Service Facade medium Shared infrastructure Accessibility Design Token Enforcer medium Shared infrastructure Accessible Theme Builder medium Shared infrastructure Navigation Route Configuration medium Shared infrastructure Accessibility Live Region Announcer low Shared infrastructure Feature Flag Provider low Shared infrastructure Secure Storage Adapter low Shared infrastructure Supabase RLS Tenant Scope Configurator medium Shared infrastructure Label Key Registry low Shared infrastructure Terminology Riverpod Providers low Shared infrastructure WCAG Semantics Label Resolver low Shared infrastructure Feature Flag Key Constants low Shared infrastructure RLS Policy Manager high Shared

User Stories (12)

Manually Trigger a Reminder Notification to a Peer Mentor
medium 3 pts

As a As a Peer Mentor (Likeperson)

I want to manually send a follow-up reminder notification to a specific peer mentor for a specific assignment

So that I can prompt action in urgent situations outside the automated schedule without waiting for the next cron cycle

Acceptance Criteria
  • Given a coordinator is viewing an assignment detail, when they tap 'Send Reminder', then a confirmation dialog appears showing the peer mentor's name and the reminder content preview
  • Given the coordinator confirms, when the reminder is dispatched, then the peer mentor receives a push notification with a deep link to the assignment, and the coordinator sees a success toast
  • Given a reminder was sent within the last hour, when the coordinator taps 'Send Reminder' again, then the button is disabled and a tooltip explains the cooldown period
  • +2 more
View Full Story →
View Reminder History and Acknowledgement Status per Assignment
medium 3 pts

As a As a Peer Mentor (Likeperson)

I want to see the complete reminder history for any assignment, including which reminders were sent, when they were delivered, and whether the peer mentor acknowledged them

So that I can document my follow-up efforts and make informed decisions about re-assignment or escalation

Acceptance Criteria
  • Given a coordinator opens an assignment detail, when they scroll to the history section, then all reminder events appear in chronological order with timestamps, type (auto/manual), and delivery status
  • Given a push notification was opened by the peer mentor, when the coordinator views the history, then the acknowledgement is shown with a timestamp indicating when the peer mentor opened the notification
  • Given a reminder delivery failed (e.g., FCM token expired), when the coordinator views the history, then the failed delivery is shown with a failure indicator and the fallback action taken
  • +2 more
View Full Story →
View a Prioritized Queue of Assignments Pending Follow-Up
medium 5 pts

As a As a Peer Mentor (Likeperson)

I want to see a prioritized list of all open assignments sorted by how long they have been without contact

So that I can quickly identify the most time-sensitive cases and take action before escalations are triggered

Acceptance Criteria
  • Given a coordinator opens the pending follow-up queue, when the screen loads, then assignments are sorted with the oldest uncontacted assignment at the top
  • Given the list is loaded, when a coordinator scans the rows, then each item shows: peer mentor name, days since assignment, reminder status (pending / reminder sent / escalated), and a quick-action button
  • Given a coordinator taps an assignment row, when the detail screen opens, then the full assignment history including any reminder events dispatched is visible
  • +2 more
View Full Story →
Receive Scenario-Based Contextual Reminders for Peer Mentor Follow-Up
medium 8 pts

As a As a Peer Mentor (Likeperson)

I want to receive scenario-triggered reminders when specific patterns are detected — such as a peer mentor completing a session but not submitting a post-session report within 48 hours

So that I can ensure complete documentation and follow through on way-forward tasks agreed during peer mentor sessions

Acceptance Criteria
  • Given a peer mentor logs an activity with an associated contact, when 48 hours pass without a post-session report being submitted, then the coordinator receives a notification identifying the peer mentor and the missing report
  • Given the coordinator taps the notification, when the deep link resolves, then the app navigates to the specific peer mentor's pending report or contact detail where the report should be filed
  • Given a way-forward task has a due date and is not marked complete, when the due date passes, then a reminder is dispatched to both the peer mentor and the coordinator
  • +2 more
View Full Story →
Manually Trigger a Reminder Notification to a Peer Mentor
medium 3 pts

As a As a coordinator

I want to manually send a follow-up reminder notification to a specific peer mentor for a specific assignment

So that I can prompt action in urgent situations outside the automated schedule without waiting for the next cron cycle

Acceptance Criteria
  • Given a coordinator is viewing an assignment detail, when they tap 'Send Reminder', then a confirmation dialog appears showing the peer mentor's name and the reminder content preview
  • Given the coordinator confirms, when the reminder is dispatched, then the peer mentor receives a push notification with a deep link to the assignment, and the coordinator sees a success toast
  • Given a reminder was sent within the last hour, when the coordinator taps 'Send Reminder' again, then the button is disabled and a tooltip explains the cooldown period
  • +2 more
View Full Story →
View Reminder History and Acknowledgement Status per Assignment
medium 3 pts

As a As a coordinator

I want to see the complete reminder history for any assignment, including which reminders were sent, when they were delivered, and whether the peer mentor acknowledged them

So that I can document my follow-up efforts and make informed decisions about re-assignment or escalation

Acceptance Criteria
  • Given a coordinator opens an assignment detail, when they scroll to the history section, then all reminder events appear in chronological order with timestamps, type (auto/manual), and delivery status
  • Given a push notification was opened by the peer mentor, when the coordinator views the history, then the acknowledgement is shown with a timestamp indicating when the peer mentor opened the notification
  • Given a reminder delivery failed (e.g., FCM token expired), when the coordinator views the history, then the failed delivery is shown with a failure indicator and the fallback action taken
  • +2 more
View Full Story →
View a Prioritized Queue of Assignments Pending Follow-Up
medium 5 pts

As a As a coordinator

I want to see a prioritized list of all open assignments sorted by how long they have been without contact

So that I can quickly identify the most time-sensitive cases and take action before escalations are triggered

Acceptance Criteria
  • Given a coordinator opens the pending follow-up queue, when the screen loads, then assignments are sorted with the oldest uncontacted assignment at the top
  • Given the list is loaded, when a coordinator scans the rows, then each item shows: peer mentor name, days since assignment, reminder status (pending / reminder sent / escalated), and a quick-action button
  • Given a coordinator taps an assignment row, when the detail screen opens, then the full assignment history including any reminder events dispatched is visible
  • +2 more
View Full Story →
Receive Scenario-Based Contextual Reminders for Peer Mentor Follow-Up
medium 8 pts

As a As a coordinator

I want to receive scenario-triggered reminders when specific patterns are detected — such as a peer mentor completing a session but not submitting a post-session report within 48 hours

So that I can ensure complete documentation and follow through on way-forward tasks agreed during peer mentor sessions

Acceptance Criteria
  • Given a peer mentor logs an activity with an associated contact, when 48 hours pass without a post-session report being submitted, then the coordinator receives a notification identifying the peer mentor and the missing report
  • Given the coordinator taps the notification, when the deep link resolves, then the app navigates to the specific peer mentor's pending report or contact detail where the report should be filed
  • Given a way-forward task has a due date and is not marked complete, when the due date passes, then a reminder is dispatched to both the peer mentor and the coordinator
  • +2 more
View Full Story →
Configure Automatic Reminder Thresholds for Uncontacted Assignments
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to configure how many days after assignment before an automatic reminder is sent to a peer mentor who has not yet made contact

So that I can enforce consistent follow-up standards across my chapter without manually tracking every open assignment

Acceptance Criteria
  • Given a coordinator is on the reminder settings screen, when they set a primary reminder to 10 days and save, then the system stores this threshold and applies it to all new assignments in that chapter
  • Given a coordinator has set a 10-day primary reminder, when a peer mentor has an open assignment with no contact event logged after 10 days, then the system dispatches an in-app and push notification to the peer mentor
  • Given a coordinator sets an escalation threshold of 20 days, when the assignment still has no contact after 20 days, then the coordinator receives an escalation notification in addition to the peer mentor
  • +2 more
View Full Story →
Receive Escalation Notifications for Overdue Assignments
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to receive an escalation notification when an assignment has passed the configured follow-up threshold without any recorded contact

So that I can intervene directly, re-assign the task, or reach out to the peer mentor before the beneficiary is left without support for an unacceptable period

Acceptance Criteria
  • Given an assignment escalation threshold is reached, when the cron job evaluates open assignments, then a push notification is sent to the responsible coordinator with the peer mentor name and days-since-assignment
  • Given a coordinator taps the escalation push notification, when the deep link resolves, then the app navigates directly to the assignment detail for that peer mentor
  • Given a coordinator opens the notification centre, when escalation notifications are present, then they are visually distinguished from regular reminders (e.g., different icon or color indicating urgency)
  • +2 more
View Full Story →
Configure Automatic Reminder Thresholds for Uncontacted Assignments
high 5 pts

As a As a coordinator

I want to configure how many days after assignment before an automatic reminder is sent to a peer mentor who has not yet made contact

So that I can enforce consistent follow-up standards across my chapter without manually tracking every open assignment

Acceptance Criteria
  • Given a coordinator is on the reminder settings screen, when they set a primary reminder to 10 days and save, then the system stores this threshold and applies it to all new assignments in that chapter
  • Given a coordinator has set a 10-day primary reminder, when a peer mentor has an open assignment with no contact event logged after 10 days, then the system dispatches an in-app and push notification to the peer mentor
  • Given a coordinator sets an escalation threshold of 20 days, when the assignment still has no contact after 20 days, then the coordinator receives an escalation notification in addition to the peer mentor
  • +2 more
View Full Story →
Receive Escalation Notifications for Overdue Assignments
high 5 pts

As a As a coordinator

I want to receive an escalation notification when an assignment has passed the configured follow-up threshold without any recorded contact

So that I can intervene directly, re-assign the task, or reach out to the peer mentor before the beneficiary is left without support for an unacceptable period

Acceptance Criteria
  • Given an assignment escalation threshold is reached, when the cron job evaluates open assignments, then a push notification is sent to the responsible coordinator with the peer mentor name and days-since-assignment
  • Given a coordinator taps the escalation push notification, when the deep link resolves, then the app navigates directly to the assignment detail for that peer mentor
  • Given a coordinator opens the notification centre, when escalation notifications are present, then they are visually distinguished from regular reminders (e.g., different icon or color indicating urgency)
  • +2 more
View Full Story →