Ce que fait réellement le coach
Quatre tâches, toutes volontairement étroites. Le but n’est pas d’être un compagnon de discussion ; il s'agit de pousser la bonne intervention au bon moment et de rendre les entrées de journal utiles au lieu d'un simple enregistrement.
1. Entraînez-vous au coaching
Lorsque vous terminez une séance de respiration ou de méditation, le coach utilise votre humeur actuelle, vos objectifs, l'heure de la journée et l'historique de la séance pour suggérer la marche à suivre. Parfois, cela signifie un protocole de suivi. Parfois, cela signifie s'arrêter pour la journée. Le système utilise une couche de règles pour des décisions simples et le modèle local lorsqu'une réponse plus conversationnelle est utile.
2. Détection de modèles de journal
Le journal est l'endroit où la distinction de traitement compte le plus. Le coach lit les entrées d'humeur récentes et les enregistrements de pensées sur l'appareil ; ces entrées ne sont pas envoyées à un fournisseur de modèles d’IA externe. Le référentiel actuel peut toujours écrire les entrées sous-jacentes dans un enregistrement Firebase par utilisateur authentifié sous un ID utilisateur anonyme ou lié, comme décrit dans la politique de confidentialité.
3. Recadrage de pensée de type CBT
Lorsque vous enregistrez une pensée difficile, le coach peut identifier les distorsions cognitives courantes (catastrophisme, lecture dans les pensées, pensée tout ou rien) et proposer des cadrages alternatifs. Les recadrages sont présentés sous forme d'options et non de déclarations : le but est d'élargir le menu des pensées disponibles, et non d'écraser celle que vous aviez.
4. Génération d'histoires de sommeil
Pour les sessions de fin de session. Vous donnez au coach un décor ou un thème et cela génère un récit pour les dix à trente prochaines minutes. Parce que c'est local, vous pouvez tout demander ; rien de votre demande n'est enregistré hors de l'appareil.
Comment cela fonctionne sous le capot
llama.rn fournit des liaisons pour exécuter des modèles de langage quantifiés à poids ouverts dans React Native, en utilisant le même moteur d'inférence llama.cpp qui a piloté le mouvement local-LLM sur macOS, Linux et Windows. PulseWave télécharge à la demande un petit modèle au format GGUF dans le dossier de documents de l'application. Le modèle est suffisamment petit pour fonctionner sur des appareils iOS 16+ avec le pont hérité React Native.
Il existe une solution de secours heuristique. Si vous n'avez pas téléchargé le modèle ou si l'inférence du modèle échoue pour une raison quelconque, un moteur basé sur des règles fournit un coaching de base. La solution de secours est plus stupide, mais elle est instantanée et ne s'interrompt jamais.
Pourquoi nous l'avons construit de cette façon
La voie la plus simple aurait été de connecter le journal à une API cloud. Il aurait été plus rapide, plus intelligent et plus simple à expédier. Nous ne l'avons pas fait parce que les données sont sensibles, que le paysage réglementaire évolue et que le fardeau de la confiance consistant à dire « vos notes sur la santé mentale sont traitées par notre fournisseur de modèles tiers » est important. nous semblait incompatible avec le type de produit que nous voulions créer.
Le compromis est réel. Le modèle est plus petit. Les réponses sont plus lentes. Un raisonnement sophistiqué en plusieurs étapes n’est pas possible. Nous pensons que l'échange en vaut la peine pour ce qu'est l'application : un outil personnel, pas un compagnon de chat - et nous avons conçu le travail du coach autour de ce qu'un petit modèle local peut faire de bien.
Ce qui est stocké et où
- Entrées de journal : cryptées cache local plus un enregistrement Firestore authentifié par utilisateur sous l'ID utilisateur anonyme ou lié. Jamais envoyé en tant qu'événements d'analyse ou à un fournisseur de modèle d'IA externe pour inférence.
- Enregistrements d'humeur : Identique aux entrées de journal. Apparu sous forme de modèles pour vous ; non agrégé en externe.
- Historique des sessions : les enregistrements éligibles sont mis en cache localement et peuvent être écrits dans l'enregistrement Firestore par utilisateur pour les séquences, les programmes et la continuité.
- Analyses : Si activé, au niveau de l'événement uniquement (par exemple, "session_completed"), sans contenu de journal ni enregistrement de pensées. Construit sans prise en charge des identifiants publicitaires. La désinscription est disponible dans les paramètres.
- Suppression du compte : Un bouton dans les paramètres efface les données Firestore, AsyncStorage et Firebase Auth.
Comment PulseWave fait apparaître le coach
Dans le rail d'accueil, à l'intérieur du journal, jamais autoritaire.
Le coach apparaît là où il est utile et reste à l'écart ailleurs. Les suggestions sont diffusées sur le rail d'action rapide de la maison. Les légendes de modèles apparaissent en haut du journal lorsqu'il y a quelque chose qui mérite d'être dit. Les recadrages de pensées apparaissent contextuellement après avoir enregistré une entrée difficile. Aucune notification, aucun coup de pouce, aucune culpabilité.
- Suggestions de maison adaptatives — basées sur l'heure de la journée, l'humeur et l'historique récent.
- Des légendes de modèles dans le journal — ont fait surface doucement, rejetable.
- CBT recadre après des entrées difficiles — s'inscrire par entrée.
- Générateur d'histoire de sommeil — sur l'écran de sommeil.
- Heuristique solution de secours — fonctionne même sans modèle téléchargé.

FAQ
Sur votre téléphone. PulseWave utilise llama.rn — un environnement d'exécution de modèle en langage local pour React Native — pour exécuter la boucle de modèle directement sur iOS. Il n'y a aucun appel API vers OpenAI, Anthropic, Google ou tout autre fournisseur de modèles. Aucun service backend n'est impliqué dans la génération des réponses.
Un modèle de poids ouverts quantifié au format GGUF, téléchargé à la demande dans le dossier Documents/models/ de l'application. Le modèle est suffisamment petit pour fonctionner sur des appareils iOS 16+ avec la nouvelle architecture désactivée. Un moteur de règles heuristiques fournit un coaching de secours si aucun modèle n'est téléchargé.
Aucun fournisseur de modèles externe ne reçoit le texte du journal à des fins d'inférence. Le référentiel actuel peut toujours stocker les enregistrements de journal et d'humeur dans un enregistrement Firestore authentifié par utilisateur sous un ID utilisateur anonyme ou lié, avec un cache crypté local. Le contenu du journal est exclu des analyses, de la publicité et de la formation sur les modèles partagés ; la politique de confidentialité explique le traitement Firebase et l'accès administrateur autorisé limité.
Quatre choses. (1) Lit vos enregistrements d’humeur et fait apparaître les modèles au fil du temps. (2) Suggère des protocoles de respiration ou de méditation en fonction de votre état actuel et de l'heure de la journée. (3) Offre une identification des distorsions cognitives de type CBT et un recadrage de la pensée lorsque vous enregistrez quelque chose de difficile. (4) Génère des histoires de sommeil à la demande pour les sessions de fin de session.
Le contenu du journal est sensible. Les données sur le bien-être, en particulier les données liées à la santé mentale, appartiennent à une catégorie où le traitement dans le cloud crée un risque réel : réglementaire, éthique et personnel. Nous avons choisi la latence et un modèle plus petit plutôt qu'une architecture qui nous oblige à vous demander de faire confiance à notre infrastructure avec vos pensées privées.