HIGH story-peer-mentor-profile-status-peer-mentor-002 3 pts

User Story

As a Peer Mentor (Likeperson)
I want to see my certification status, issue date, expiry date, and any upcoming renewal requirements clearly on my profile screen
So that I can proactively renew my certification before it expires and avoid being automatically removed from the active mentor list on my chapter's website

Audience Summaries

Certification validity is both a contractual obligation and a safety-critical requirement under the HLF program agreement. When a peer mentor's certification lapses, they must be automatically removed from public chapter directories — failure to enforce this exposes the organization to liability and damages trust with the communities these mentors serve. This high-priority story gives peer mentors clear, timely visibility into their certification health through three distinct visual states (Valid, Expiring Soon within 60 days, Expired), directly reducing the number of mentors who lapse unknowingly. Proactive in-app warnings drive timely renewals, protect program integrity, reduce coordinator workload from reactive status corrections, and improve volunteer experience by eliminating the disruptive surprise of sudden directory removal.

The direct enrollment pathway from the alert banner further reduces renewal friction.

This is a high-priority story with compliance implications that elevate its delivery urgency above standard feature work. It depends on the base profile screen story (story-peer-mentor-profile-status-peer-mentor-001) and requires coordination with the team managing certification data storage and the external course enrollment pathway or URL. Acceptance criteria span five distinct states and flows, each requiring explicit QA sign-off: valid badge, expiring-soon badge with alert banner, expired badge with directory-visibility warning, certification detail modal, and renewal navigation. Testing must confirm that the 60-day expiry threshold is calculated correctly against the stored expiry date in all timezone contexts.

UAT should include a volunteer representative to validate that warning language is clear and non-alarming. Rollout risk: if the enrollment link is external, confirm URL stability and fallback behaviour before release.

Implementation requires a certification-status-badge widget with three visual states driven by a computed property comparing the stored expiry date to the current date: valid (>60 days remaining), expiring-soon (1–60 days), and expired (0 or past). The badge state logic should live in a ViewModel or provider so it is testable in isolation. The expiring-soon state must also render a certification-alert-banner widget with enrollment instructions — this banner is conditionally shown and must not appear in the valid or expired states. Tapping the badge opens a detail bottom sheet or screen displaying course name, issuing body, issue date, and expiry date sourced from the certification data model.

The 'Renew Certification' CTA must handle both in-app navigation (course enrollment screen) and external URL launch with proper error handling for failed URL opens. Unit tests must cover all three date-boundary conditions including the exact 60-day edge case and expired-today scenario.

Acceptance Criteria

  • Given I am on my profile screen, When my certification is valid and not expiring within 60 days, Then the certification-status-badge shows a green 'Valid' state with the expiry date
  • Given I am on my profile screen, When my certification expires within 60 days, Then the badge shows an amber 'Expiring Soon' state and a certification-alert-banner appears with enrollment instructions
  • Given my certification has expired, When I view my profile, Then the badge shows a red 'Expired' state and I see a warning that I am no longer visible in the chapter directory
  • Given I tap on the certification status badge, When the detail view opens, Then I can see course name, issuing body, issue date, and expiry date
  • Given I am on the certification detail view, When I tap 'Renew Certification', Then I am navigated to the course enrollment screen or external link

Business Value

Certification validity is a contractual and safety requirement for peer mentors. Expired certifications must automatically remove mentors from public directories (HLF requirement), and mentors who are unaware of expiry risk an unexpected loss of active status. Proactive in-app notification of expiry reduces both compliance risk for the organization and the disruptive experience for the volunteer.