medium complexity extracted Notes Confidence: 100%
6
Components
106
Shared
0
User Stories
Yes
Analyzed

Description

The Note Editor feature allows peer mentors and coordinators to create, view, and edit free-text notes linked to a specific contact. The editor supports plain text input with optional speech-to-text dictation, a linked contact selector, and a timestamp that defaults to the current date and time. Notes can be saved as drafts or submitted immediately. Existing notes can be reopened for editing or deleted, with a confirmation prompt before destructive actions.

User Flow

Note Editor user flow
Click to expand

Analysis

Business Value

Free-text notes capture qualitative context that structured activity logs cannot — emotional state of a contact, topics discussed, agreed next steps, or concerns to escalate to a coordinator. For organisations like Blindeforbundet, a structured note after a home visit is a formal deliverable that feeds back into coordinator workflows. Providing a low-friction editor with speech-to-text reduces the barrier to note-taking for users with motor or visual impairments, directly supporting WCAG 2.2 AA goals and the needs of HLF and Blindeforbundet users who prefer dictation over typing. Well-documented contacts improve care quality and reduce risk for the organisations.

Implementation Notes

Implemented as a Flutter form screen backed by a TextEditingController with autosave to local draft storage. Speech-to-text integration delegates to the STT Service and STT Provider Adapter, injecting transcribed text at the cursor position. The contact selector reuses the Contact Search Widget from the Contacts area. Save and delete actions call the REST API and update the local SQLite cache. Optimistic UI updates are applied immediately with rollback on API error. The editor must meet WCAG 2.2 AA requirements: the text field must be labelled, font must scale to 200%, and the delete confirmation dialog must be keyboard-navigable.

Components (112)

User Interface (2)

Service Layer (2)

Data Layer (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.