Review and Edit Recognized Transcript Before Saving
After a successful recognition session, the Speech Input Widget injects the final transcript into the Flutter TextEditingController for the target field. The cursor is placed at the end of the inserted text, and the field is automatically focused so the peer mentor can immediately begin editing. The field supports all standard text editing gestures. Any edits made to the transcript are treated as ordinary field input and saved as part of the activity record. The original audio is not retained — only the transcript.
User Story
Acceptance Criteria
- Given a recording session completes successfully, when the transcript is inserted, then the text field displays the recognized text as editable content with the cursor at the end
- Given the transcript has been inserted, when the peer mentor taps any word in the field, then the cursor moves to that position for correction
- Given the peer mentor edits the transcript, when they submit the activity form, then the edited (not original) transcript is saved as the activity summary
- Given a transcript is inserted, when the peer mentor inspects device storage or network traffic, then no audio file or recording artifact is present — only the text string
- Given the transcript is inserted into a field with existing content, when insertion occurs, then existing content is either appended to or replaced consistently according to the widget configuration for that field
Business Value
Speech recognition accuracy on mobile devices is high but not perfect. Making the transcript editable rather than final is essential for data quality — peer mentors must be able to correct errors before submitting reports that feed into Bufdir compliance documentation. This also reinforces the privacy model: users see exactly what was captured and can control it before it enters the database.
Components
- Speech Input Widget ui
- Speech Recognition Service service