medium complexity v1.0 extracted Activity Registration Confidence: 100%
3
Components
43
Shared
0
User Stories
Yes
Analyzed

Description

Speech-to-Text Input allows peer mentors to dictate activity summaries and notes by speaking into their device microphone rather than typing. The feature is strictly scoped to post-activity report writing - it is not used during visits or conversations, a constraint explicitly stated by Blindeforbundet to protect the open atmosphere of home visits. Transcribed text is inserted into the active text field. The feature is controlled by an organization-level configuration flag and invisible when disabled.

Sources & reasoning

Section 2.5 directly motivates the feature for Blindeforbundet and HLF and states the critical post-visit-only constraint. Fase 2 (ยง5, ยง7) explicitly lists tale-til-tekst, mapping to v1.0 by ordinal phase. The org config flag is justified by the priority matrix showing relevance to only two of four organizations.

No source references โ€” this artifact was included based on reasoning alone (see above).

Analysis

Business Value

Blindeforbundet and HLF both requested speech input as a meaningful accessibility and efficiency improvement for peer mentors who find typing on mobile devices slow or difficult. For Blindeforbundet, whose users and peer mentors often have visual impairments, voice input is a natural complement to the platform's WCAG 2.2 AA commitment. For HLF, where peer mentors may include users experienced with voice assistive technology, dictation reduces the effort barrier for thorough activity summaries. Richer report text improves data quality for Bufdir reporting, coordinator review, and the formalized home-visit report flow where detailed narrative is expected.

Implementation Notes

Implemented as a Speech Input Widget wrapping the speech_to_text Flutter plugin, which delegates to Apple SpeechRecognizer (iOS) and Android SpeechRecognizer (Android) via the native STT engine. The STT Service Integration component manages session lifecycle: start listening, stream interim results to the text field in real time, stop on user action or silence timeout, and surface errors with a retry prompt. Microphone permission is requested using the same in-app rationale pattern as calendar sync. The widget renders only when the organization's config flag for speech input is enabled. Text is inserted at cursor position rather than appended, allowing partial dictation within a longer composed text.

Components (46)

User Interface (1)

Service Layer (1)

Infrastructure (1)

Shared Components

These components are reused across multiple features

User Stories

No user stories have been generated for this feature yet.