medium complexity extracted Referral Program Confidence: 100%
10
Components
106
Shared
0
User Stories
Yes
Analyzed

Description

This feature enables peer mentors and coordinators to generate personalized referral links and QR codes directly from the mobile app for recruiting new members to their organization. The referral screen provides a shareable link and a scannable QR code that can be distributed via messaging apps, social media, or printed materials. The system tracks attribution so that each referral is linked back to the inviting user for recruitment reporting purposes.

User Flow

Invite Link & QR Sharing user flow
Click to expand

Analysis

Business Value

Peer mentors are among the most credible ambassadors for the Meander platform and the organizations that use it. Providing a frictionless invite mechanism directly inside the app converts existing users into active recruiters, lowering the cost of member acquisition significantly. For organizations already using Meander, growth in the peer mentor network directly increases service capacity, which ties back to Bufdir reporting metrics and funding eligibility. A QR-based sharing flow is particularly accessible for in-person events like courses, workshops, and local association gatherings, where digital handoffs are otherwise awkward.

Implementation Notes

The referral link is generated server-side via the REST API, encoding the referring user's ID and organization context as a signed token to prevent tampering. Deep link handling on Flutter uses the app_links package to intercept the URL on install or first open and pre-populate onboarding context. QR code rendering uses the qr_flutter package, rendering entirely on-device with no external service dependency. The share sheet is triggered via the share_plus package. Links expire after a configurable TTL (default 30 days) and are stored in the referral_links table. The feature flag system controls rollout per organization.

Components (116)

User Interface (4)

Service Layer (2)

Data Layer (2)

Infrastructure (2)

Shared Components

These components are reused across multiple features

Service Layer (34)

Data Layer (22)

Infrastructure (38)

infrastructure Keychain/Keystore Adapter low Shared infrastructure JWT Claims Extractor low Shared infrastructure Organization Labels Adapter low Shared infrastructure Keychain/Keystore Adapter low Shared infrastructure Auth API Client medium Shared infrastructure REST API Client medium Shared infrastructure WCAG Accessibility Adapter low Shared infrastructure Registration API Client low Shared infrastructure Accounting API Client high Shared infrastructure PDF Renderer Adapter medium Shared infrastructure File Share Adapter low Shared infrastructure FCM/APNs Adapter high Shared infrastructure Share Sheet Adapter low Shared infrastructure Share Plus Adapter low Shared infrastructure Platform Accessibility Bridge medium Shared infrastructure Semantics Override Adapter high Shared infrastructure URL Launcher Adapter low Shared infrastructure Markdown Content Renderer low Shared infrastructure Network Connectivity Monitor low Shared infrastructure Expense Receipt Storage Adapter low Shared infrastructure Audit Log Writer low Shared infrastructure Feature Flag Checker low Shared infrastructure Logo Upload Adapter low Shared infrastructure Terminology Constants Registry low Shared infrastructure Feature Flag Cache Adapter low Shared infrastructure Org Scope JWT Resolver medium Shared infrastructure Association Audit Logger low Shared infrastructure Token Blocklist medium Shared infrastructure Analytics Tracker low Shared infrastructure SEO Metadata Config low Shared infrastructure Analytics Tracker low Shared infrastructure Analytics Tracker low Shared infrastructure Sales Analytics Tracker low Shared infrastructure Email Provider Adapter low Shared infrastructure Terms of Service Content Provider low Shared infrastructure Legal PDF Asset Provider low Shared infrastructure Consent-Gated Script Loader low Shared infrastructure Legal Page Layout low Shared

User Stories

No user stories have been generated for this feature yet.