CRITICAL story-quick-activity-registration-peer-mentor-001 8 pts
8
Story Points
Critical
Priority
Quick Activity Registration
Feature

User Story

As a Peer Mentor (Likeperson)
I want to register a completed peer support activity using pre-filled default values with minimal taps
So that I can log my work immediately after a session without it feeling like an administrative burden, ensuring my contributions are counted

Audience Summaries

This is the single most critical feature for the platform's success across all three partner organisations. Peer mentors are currently under-reporting their activities at scale because the registration process is too complex — leading directly to incomplete Bufdir grant reports, funding risks, and the invisible erasure of volunteer labour. A two-tap registration flow transforms data completeness overnight: one HLF peer mentor alone logged 380 registrations in a year, a volume only achievable with frictionless UX. For the 60–70% of registrations requiring no reimbursement, eliminating friction removes the single biggest barrier to adoption.

Higher reporting rates mean stronger evidence for funding renewals, improved coordinator oversight, and a compelling value proposition for new partner organisations. This story is the foundation on which all other reporting and analytics value depends.

This is the highest-priority delivery item and should be treated as a blocking dependency for all downstream reporting and analytics work. Complexity is significant: the story spans mobile UI (bottom sheet with animated confirmation view), local-first data persistence with offline sync to Supabase, registration preferences store integration, and accessibility compliance for VoiceOver and TalkBack. Acceptance criteria include a strict 2-second save SLA and automatic confirmation dismissal, both of which require performance testing on low-end devices. Cross-functional dependencies include the UX team (default value logic, confirmation flow design), the backend team (Supabase sync conflict resolution), and the accessibility reviewer.

Rollout risk is low if offline sync is validated thoroughly — a failed sync that silently drops data would severely damage user trust. Plan for a phased rollout with real peer mentors in one organisation before full deployment.

Implementation centres on a React Native bottom sheet component that reads from and writes to a registration preferences store (likely Zustand or AsyncStorage). On open, the sheet must hydrate defaults synchronously from the local preferences store — async loading would introduce perceptible delay violating the two-tap contract. The submit handler must write to a local SQLite or WatermelonDB queue before attempting a Supabase insert, with a background sync worker retrying failed uploads and emitting no error UI to the user. The confirmation view requires a timed auto-dismiss with a cancel affordance.

Accessibility requires full semantic labelling on all interactive elements and a tested focus traversal order for both VoiceOver (iOS) and TalkBack (Android). Edge cases include concurrent submissions, preference store migration on app update, and Supabase conflict resolution when the same offline record is synced twice. Unit tests must cover default loading, offline queue behaviour, and sync reconciliation.

Acceptance Criteria

  • Given I am logged in as a peer mentor, when I tap the Add button in the bottom navigation, then the activity registration bottom sheet opens immediately with today's date, 30-minute duration, and my most recently used activity type pre-filled
  • Given the bottom sheet is open with correct defaults, when I tap Confirm without changing anything, then the activity is saved and a confirmation view appears within 2 seconds
  • Given I have just submitted a registration, when the confirmation view is shown, then it displays the activity type, date, duration, and a success indicator
  • Given network connectivity is unavailable, when I submit a registration, then the entry is saved locally and synced to Supabase when connectivity is restored, with no error shown to the user
  • Given I have previously registered an activity of type 'Home Visit' lasting 45 minutes, when I open a new registration, then the bottom sheet pre-fills with 'Home Visit' and 45 minutes as the defaults
  • Given I am using a screen reader (VoiceOver / TalkBack), when I open the registration sheet, then all interactive elements are labelled with meaningful semantics and the focus order is logical

Business Value

This is the single highest-priority feature across all three organisations. Massive under-reporting of peer support activities is the core problem: volunteers either find registration too complex or do not realise their actions count. A two-tap registration flow directly increases data completeness for Bufdir reporting, justifies funding renewals, and makes the invisible labour of peer mentors visible. One HLF peer mentor had 380 individual registrations in a single year — without a frictionless flow that volume is simply not captured.