Getting the child profile right is the foundation of the entire ComuniTEA experience. Every vocabulary set shown on the communication board, every audio category unlocked, and every sensory accommodation the app makes — from quieter animations to reduced volume on sound effects — flows directly from what you enter here. The profile is captured during first launch through the onboarding wizard and can be revisited at any time from the Settings screen. Because the goal is zero friction on day one, only four steps are mandatory; the remaining five are optional personalisation steps that the caregiver can complete later or skip entirely to jump straight into communication practice.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ElthonJohan/comunitea/llms.txt
Use this file to discover all available pages before exploring further.
Who Configures the Profile
The first mandatory step of the onboarding wizard asks who is setting up the app. ComuniTEA uses this role to adapt the language and depth of the configuration fields that follow.| Role | AdultRole value | Experience |
|---|---|---|
| Parent / Mother or Father | padre_madre | Plain-language descriptions, everyday examples |
| Therapist (SLP / speech-language pathologist) | terapeuta | Clinical terminology, therapy-oriented prompts |
| Psychologist / Psychopedagogue | psicologo | Clinical terminology, diagnostic framing |
| Teacher / Therapeutic aide | docente | Classroom-oriented prompts |
role column of the profiles table (added by migration 20260331000003_phase1_child_profiles.sql). It is never shown to the child.
Onboarding Flow
Privacy consent (step 0)
The caregiver reviews what data ComuniTEA collects — phrase history, usage statistics, and the child’s profile — and accepts the GDPR-compliant consent. This step is mandatory and cannot be skipped.
Role selection (step 1)
The caregiver selects their role from the
ROLES list. The selection is mandatory and determines whether clinical terminology appears in subsequent steps.Child's basic data (step 2)
The caregiver enters the child’s name (minimum 2 characters, stored as
name in child_profiles) and optionally adds a profile photo and gender. This step is mandatory.Communication level (step 3)
The caregiver selects the child’s current verbal communication level using the
CommunicationLevel type. This step is mandatory because it determines the initial VocabLevel shown on the board.DSM-5 diagnosis level (step 4, optional)
The caregiver selects the child’s DSM-5 ASD level using functional descriptions. The field is optional; if skipped, the app uses
sin_diagnostico.Usage environments (step 5, optional)
The caregiver selects where the app will be used — home, school, therapy, or other. Multiple environments can be selected.
Sensory preferences (step 6, optional)
The caregiver indicates whether the child is sensitive to loud sounds. Enabling this activates quiet mode — reduced volume and no music during celebrations.
Preferred activities (step 7, optional)
The caregiver selects activities the child enjoys from a preset catalogue, and can add custom ones. These become pictograms in the “Le gusta” (Things I like) subcategory on the board.
Profile Fields
Name and Photo
The child’s name is displayed on the communication board header and in usage reports. The profile photo (avatar_url) is used as the “Yo” (I/Me) identity pictogram on the board — the very first pictogram the child sees. Photos are uploaded to the avatars bucket in Supabase Storage.
Date of Birth and Gender
birth_date is stored as a date in Supabase (nullable — the app does not require it during onboarding). Age is not explicitly stored; it is calculated from birth_date when needed. Gender (Gender type) is an open selection:
DSM-5 ASD Level
ComuniTEA presents DSM-5 levels with functional descriptions rather than numbers alone, making the selection approachable for caregivers without a clinical background. Internally the selection is stored as thediagnosis field using the Diagnosis type.
| Diagnosis value | Label shown | Functional description |
|---|---|---|
dsm5_nivel1 | Nivel 1 — Needs support | Can communicate some things but struggles in social or unfamiliar situations; needs targeted support |
dsm5_nivel2 | Nivel 2 — Needs substantial support | Verbal communication is very limited or absent; responds better to clear routines and visual supports |
dsm5_nivel3 | Nivel 3 — Needs very substantial support | Spontaneous communication is minimal or absent; ComuniTEA functions primarily as a basic-needs communicator |
sin_diagnostico | No diagnosis / Not specified | No formal diagnosis yet, or not relevant at this time |
Selecting a diagnosis level does not change which vocabulary items appear on the board — that is controlled by the
VocabLevel (see below). The diagnosis field exists to help caregivers and therapists track clinical context over time.Communication Profile and Vocabulary Level
The communication level step is the single most important configuration decision, because it automatically sets the initialVocabLevel for the communication board via the COMM_TO_VOCAB mapping.
CommunicationLevel | Label | VocabLevel |
|---|---|---|
sin_lenguaje | No words yet (signs, gaze, vocalisations) | BASICO |
palabras_aisladas | Isolated words (mamá, agua, más…) | BASICO |
frases_simples | Short phrases (quiero agua, no quiero…) | INTERMEDIO |
frases_complejas | Longer phrases, 4+ words | AVANZADO |
Vocabulary Level (VocabLevel)
VocabLevel is a three-tier system that controls the breadth of the communication board:
BASICO
Essential vocabulary for daily basic needs: food, emotions, bathroom, sleep, toys, and the “Quiero / No quiero” intention buttons. Ideal for children who are just beginning with AAC.
INTERMEDIO
Adds more categories and contexts: clothing, places, daily routine (“Mi día”), social phrases, numbers, and colours. Suited for children building multi-word communications.
AVANZADO
Full vocabulary including verbs, school items, week-day agenda, multi-turn conversation starters, and help phrases. For children constructing 3–4 pictogram sentences.
Environment Contexts
ActiveEnvironment lets caregivers switch the app’s context between sessions. The selected environment is surfaced in usage reports and can influence which vocabulary subsets are highlighted.
ActiveEnvironment | Label | Icon |
|---|---|---|
hogar | Hogar (Home) | home-outline |
escuela | Escuela (School) | school-outline |
terapia | Terapia (Therapy) | medical-outline |
Important People
During onboarding step 8, caregivers add family members or key adults using an emoji + name format, stored as pipe-separated strings in theimportant_people array:
mergePersonasRow() in features/tablero/buildMergedBoard.ts inserts these as custom pictograms in the “Personas” subcategory of the communication board, replacing the default placeholder people. The child’s own avatar pictogram (“Yo”) is always placed first.
Sensory Preferences
Thesound_sensitive boolean on the child profile flags whether the child has heightened sensitivity to loud sounds. When true, ComuniTEA activates a quiet mode from the start:
- Volume on sound effects is reduced
- Celebration animations after phrase playback play without music
- The default
animation_intensityis set lower
animation_intensity (see Parental Controls).
How the Profile Is Stored
The child profile is persisted in thechild_profiles table in Supabase (Postgres), protected by Row Level Security so that only the authenticated caregiver can read or modify their child’s data.
onboarding_completed is set to true and AsyncStorage.setItem(STORAGE_KEYS.ONBOARDING_COMPLETED, 'true') is written locally so that subsequent app launches skip directly to the communication board (or the tutorial if not yet completed).
Each authenticated account holds exactly one child profile. The profile can be edited at any time from Settings → Perfil del niño (tablero AAC) or by tapping Repetir configuración inicial to re-run the full onboarding wizard.