Use Speech-to-Text to Dictate Registration Notes
The notes step in the activity registration flow exposes a dedicated microphone button that activates in-app speech-to-text. This is distinct from recording during the session — it is strictly for post-session documentation. The feature uses the device's native speech recognition API via a bridge component. A partial transcription preview updates in real time so the peer mentor can verify the text before inserting it. A stop/cancel button is always visible. Blindeforbundet and HLF both listed this as a SHOULD HAVE requirement. The feature must be available in Norwegian (primary), with future extensibility for other languages.
User Story
Audience Summaries
This story directly addresses the documentation burden faced by peer mentors — particularly those with visual impairments served by Blindeforbundet and hearing-loss users supported by HLF — both of whom explicitly listed this as a SHOULD HAVE requirement. By reducing post-session note-taking effort by an estimated 60–70%, the organisation captures richer activity data with minimal friction. Higher-quality notes strengthen Bufdir reporting accuracy, which directly supports funding justification and organisational credibility. Retaining mentors who would otherwise abandon note-taking due to accessibility barriers also protects the volunteer base that underpins the programme's scale and reach.
This story has medium priority and moderate implementation complexity. It depends on story-quick-activity-registration-peer-mentor-004, so sequencing must be respected in sprint planning. Key delivery risks include device fragmentation: the speech recognition bridge must handle older Android devices gracefully by hiding the microphone button rather than failing. Norwegian language support is required at launch; the architecture must be extensible for future locales without rework.
Testing must cover real-time transcription preview, cancel/stop flows, and automatic cancellation on step dismissal. Accessibility validation with screen reader tools is essential given the Blindeforbundet user base. UAT should include representatives from both partner organisations.
Implementation requires a bridge component wrapping the device's native speech recognition API (Web Speech API on web views, SpeechRecognizer on Android, SFSpeechRecognizer on iOS). The bridge must emit partial result events to update the transcription preview field in real time using a reactive state binding. A capability detection check must run before rendering the notes step UI — if the device reports no speech recognition support, the microphone button must be conditionally excluded from the layout rather than disabled. The stop/cancel button must always be rendered when recording is active.
On step dismissal while recording is active, the component lifecycle hook must call `recognizer.cancel()` and release the microphone resource. Norwegian locale must be passed as the language hint to the recognition API. The notes field must accept the transcribed string as a regular editable text value post-insertion.
Acceptance Criteria
- Given I am on the notes step, when I tap the microphone button, then a recording-state indicator becomes visible and the device's speech recognition service is activated
- Given speech recognition is active and I am speaking, when partial results are available, then the transcription preview field updates in real time with what has been recognised so far
- Given I finish speaking and tap Stop, when recognition completes, then the transcribed text is inserted into the notes field and I can edit it before proceeding
- Given the device does not support speech recognition (e.g. older Android), when I open the notes step, then the microphone button is hidden and only the keyboard input is shown
- Given I tap Cancel during recording, when the recording stops, then no text is inserted and the notes field is unchanged
- Given recording is active, when the notes step is dismissed without stopping, then the recording is automatically cancelled and the microphone is released
Business Value
Speech-to-text reduces the effort of post-session documentation by an estimated 60–70% for mentors who prefer verbal expression. Blindeforbundet users may have visual impairments that make typed input particularly burdensome. Capturing richer notes increases the quality of coordinator follow-up and Bufdir reporting, without adding friction to the core two-tap registration flow.
Components
- Optional Notes Input Step ui
- Speech-to-Text Field Overlay ui
- Speech-to-Text Adapter infrastructure
- Dictation Microphone Button ui
- Recording State Indicator ui
- Transcription Preview Field ui
- Speech Recognition Service service
- Transcription State Manager service
- Dictation Scope Guard service
- Partial Transcription Repository data
- Native Speech API Bridge infrastructure
- Accessibility Live Region Announcer infrastructure