Achievement Badges
Feature Detail
Description
Achievement Badges awards peer mentors with visual digital badges as they reach activity milestones and contribution thresholds - such as completing a first activity, supporting fifty contacts, or maintaining a consecutive logging streak. Badges are displayed in a personal collection screen with locked and unlocked states. The feature provides incremental micro-recognition throughout the year, complementing the annual summary with real-time feedback that sustains long-term engagement between summary events.
Sources & reasoning
Statusbadges are explicitly named alongside the Wrapped concept in workshop output at line 76. The priority matrix (line 149) places the gamification cluster as NICE TO HAVE in Phase 3. The Phase 3 roadmap at line 353 groups badges with Wrapped and Advantage Calculator, normalizing to v1.1.
-
docs/source/likeperson.md · line 76Tre organisasjoner er inspirert av Spotify Wrapped og ønsker en funksjon som viser likepersonens bidrag over tid - «Din likepersonsårek». Målet er å gi frivillige stolthet og motivasjon, og gjøre usynlig innsats synlig. Også nevnt: «Årets koordinator
-
docs/source/likeperson.md · line 149| Gamification / Spotify Wrapped | ✓ | ✓ | - | ✓ | ✓ | NICE TO HAVE | 3 |
-
docs/source/likeperson.md · line 353Gamification / «Ditt likepersonsår» (Wrapped, badges, Advantage Calculator)
Analysis
Statusbadges were explicitly named in workshop summaries from NHF, HLF, and Barnekreftforeningen as a desired mechanism to make volunteer effort visible and motivate consistent reporting. Unlike the annual summary which fires once a year, badges provide continuous feedback that reinforces reporting behaviour after each logged activity. For organizations, badge progress serves as a lightweight proxy for volunteer engagement levels, enabling coordinators to identify at-risk volunteers before disengagement occurs. The feature also supports onboarding: introductory badges for early milestones give new peer mentors immediate wins that lower the psychological barrier to consistent platform use.
Badge eligibility is evaluated server-side after each activity save using a rule engine that checks aggregate thresholds, ensuring clients cannot award badges by manipulating local state. The Flutter client fetches the badge collection via a dedicated endpoint and renders it with a grid of BadgeWidget components displaying locked versus unlocked states. New badge unlocks should trigger an in-app toast within the same session so the event feels immediate. Badge definitions - labels, thresholds, and descriptions - must be configurable per organization via the terminology/labels system without code deployment. WCAG 2.2 AA compliance requires all badge images to have descriptive alt text and that locked/unlocked state is communicated via text label in addition to visual treatment, not colour alone.
Components (8)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.