Simple Activity Logging
Feature Detail
Description
Simple Activity Logging enables peer mentors to record a completed interaction with a contact in the fewest possible steps. A quick-log screen presents pre-filled defaults - today's date and a 30-minute duration - so a typical activity can be saved in two taps. The design priority is lowest cognitive load: one screen, sensible defaults, and no mandatory fields beyond the minimum required for Bufdir data capture.
Sources & reasoning
All four organizations named this the #1 need and described existing Word/Excel workflows as causing under-reporting. The quick-log with smart defaults directly resolves that friction. Blueprint and Fase 1 roadmap both confirm MVP scope. Section 1.1 source refs supply the quantitative and design rationale.
No source references — this artifact was included based on reasoning alone (see above).
Analysis
All four workshop organizations named simple activity logging as their single highest-priority need and described current Word/Excel-based workflows as causing systematic under-reporting. HLF reported one peer mentor completing 380 individual registrations in a single year, proving that volume is real but friction is the barrier. Accurate activity data is the direct input to Bufdir reporting and organizational grant eligibility; under-reporting puts funding at risk. Reducing registration to two taps transforms a compliance obligation into a reflex, raising data completeness and organizational accountability across all tenants from day one.
Implemented as a Quick Log Screen in Flutter backed by a Drift (SQLite) local store and the ActivityService REST endpoint. Default values for date (today) and duration (30 min) are injected at screen construction via Riverpod providers; the user may override any field before saving. Submission follows an optimistic mutation pattern: the record is written to Drift immediately and queued in the mutation outbox for background sync, making the feature fully operational offline. WCAG 2.2 AA compliance is mandatory from MVP - all touch targets minimum 24×24 px, semantic labels on all inputs, minimum 4.5:1 contrast, and screen-reader-compatible focus order throughout.
Components (44)
Shared Components
These components are reused across multiple features
Service Layer (11)
Data Layer (23)
Infrastructure (7)
User Stories
No user stories have been generated for this feature yet.