Un journal vocal
qui vous relit votre semaine

Touchez pour enregistrer une entrée de journal. Le modèle ink-whisper de Cartesia la transforme en texte, et un LLM ajoute un titre, une humeur et une réflexion d'une ligne. Quand vous voulez, Sonic 3.6 vous lit un court résumé de vos sept derniers jours avec la voix de votre choix.
Capture d'écran sur téléphone de l'écran Weekly recap : un panneau This week avec une entrée et un badge d'humeur Hopeful, le sélecteur de voix réglé sur Tessa, le bouton Write my recap et le dernier bilan en cours de lecture, à 0:04 sur 0:32

Capture d'écran. Le modèle lancé en local.

Modèles
ink-whisper, sonic-3.6
Langues
Anglais
Licence
Apache-2.0
Stack technique
ExpoReact NativeExpo Router API routesAI SDKAsyncStorage
Produits Cartesia
InkSonic 3.6

Ce qu'il fait

Une seule app tourne sur iOS, Android et le web. Les entrées restent sur votre appareil, donc il n'y a ni base de données ni connexion. Les enregistrements partent chez Cartesia pour la transcription, et les transcriptions chez votre fournisseur de LLM. L'app l'indique sous le bouton d'enregistrement, et son serveur ne garde aucun audio.

Lancez-le vous-même

  1. Installez

    Lancez les commandes ci-dessous avec Node 22.22 ou plus récent. pnpm fonctionne aussi. Remplissez .env.local à l'aide du tableau ci-dessous.

    npx degit cartesia-ai/cookbook/examples/voice-journal voice-journal
    cd voice-journal
    # add CARTESIA_API_KEY, LLM_MODEL and the matching provider key
    cp .env.example .env.local
    npm install
    npm run dev
    

    Variables d'environnement
    CARTESIA_API_KEY
    play.cartesia.ai/keys
    LLM_MODEL
    fournisseur/modèle, par exemple openai/gpt-5.4-mini
    OPENAI_API_KEY
    Si LLM_MODEL commence par openai/
    ANTHROPIC_API_KEY
    Si LLM_MODEL commence par anthropic/
    AI_GATEWAY_API_KEY
    Pour tout autre fournisseur
    TRUST_PROXY
    Facultatif. 1 derrière votre propre reverse proxy
  2. Enregistrez une entrée

    Lancez npm run dev, puis appuyez sur w pour ouvrir l'app web. Pour utiliser un téléphone, scannez le QR code avec Expo Go, l'app gratuite d'Expo pour essayer des projets. Enregistrez une entrée avec Start recording. Ouvrez ensuite Recap et touchez Write my recap.

Créez-le avec votre agent de code

Un prompt qui indique à votre agent de code par où commencer et quoi lire en premier.

Prompt

Claude CodeCursorCodex

Build a voice journal app in Expo with Cartesia. Start from https://github.com/cartesia-ai/cookbook/tree/main/examples/voice-journal and follow its AGENTS.md for the commands, files and rules. Expo Router API routes hold the keys: /api/transcribe sends each recording to ink-whisper with client.stt.transcribe from @cartesia/cartesia-js, the AI SDK writes the title, mood, reflection and weekly recap, and /api/speak turns the recap into an MP3 with sonic-3.6 through client.tts.generate. Never give a key an EXPO_PUBLIC_ prefix. If I don't have a Cartesia API key yet, follow https://www.cartesia.ai/agent-quickstart.md to get one.

Comment ça marche

Enregistrementexpo-audio, en m4a sur téléphone et en WebM sur le web
ink-whisperLe serveur envoie chaque enregistrement à Cartesia
LLMUn titre, une humeur et une réflexion, puis un bilan des sept derniers jours
Sonic 3.6Renvoie le résumé en MP3
AppareilLes entrées et les résumés restent sur l'appareil

Pourquoi ça fonctionne ainsi

Un enregistrement terminé n'a pas besoin de streaming

Une entrée de journal est un enregistrement terminé, donc un seul envoi à ink-whisper est plus simple qu'un flux en direct. Le streaming demanderait aussi l'audio brut pendant que vous parlez, et l'enregistreur d'Expo ne le fournit pas sur le web.

Le bilan est écrit pour être écouté

Le résumé lit vos entrées des sept derniers jours, de la plus ancienne à la plus récente, et fait 120 à 200 mots écrits pour être écoutés. Sonic 3.6 le renvoie en MP3, lisible sur toutes les plateformes.

Personnalisez-le

Changez la voix par défaut

La voix par défaut est définie dans lib/limits.ts. Choisissez-en une autre dans la bibliothèque de voix Cartesia, puis mettez à jour sa description dans app/recap.tsx.

Transcrivez une autre langue

Changez la langue de transcription dans app/api/transcribe+api.ts. Changez ensuite la langue de synthèse dans app/api/speak+api.ts et choisissez une voix qui la parle.

Changez les humeurs

La liste des humeurs est dans lib/schema.ts. Les prompts de la réflexion et du résumé sont dans lib/server/prompts.ts.

Questions

Ma clé API est-elle en sécurité dans une app mobile ?

Oui, tant qu'elle reste sur le serveur. Les routes serveur de l'app lisent la clé, et elle n'entre jamais dans l'app installée sur les téléphones. Ne donnez pas le préfixe EXPO_PUBLIC_ à une clé, car Expo place ces valeurs dans l'app, où tout le monde peut les lire.

Est-ce que ça marche sur un vrai iPhone ou Android ?

Oui, dans Expo Go pendant le développement. Pour une version store, vous déployez les routes serveur et vous y reliez l'app. La version web a été testée dans Chrome, et les versions mobiles compilent mais n'ont pas tourné sur un appareil.

Puis-je le mettre en ligne tel quel ?

Non. Les routes serveur sont ouvertes à tous, donc ajoutez une connexion et vérifiez-la dans chaque route avant de déployer. La limite de requêtes intégrée ne freine que les abus occasionnels.

Est-ce une app de thérapie ?

Non. Les prompts demandent au modèle de ne pas poser de diagnostic ni donner d'avis médical. Si une entrée parle d'automutilation, le modèle oriente vers une personne de confiance ou une ligne d'écoute locale.

Puis-je utiliser ma propre voix pour le bilan ?

Pas dans ce modèle. Le clonage de voix a été laissé de côté volontairement, l'app n'utilise donc que des voix de la bibliothèque Cartesia.

Existe-t-il un guide pas à pas pour ce modèle ?

Oui. La recette explique le code, le README couvre l'installation, les variables d'environnement et le déploiement, et la référence de l'API de transcription par lot détaille le côté Cartesia.

Commencer aujourd'hui

Parlez à un expert.

Échangez avec notre équipe et découvrez comment Cartesia peut vous aider à créer des expériences vocales de premier plan.

Contacter les ventes

Commencez à développer.

Accédez à nos modèles via l'API et mettez un agent vocal en production en quelques minutes.

Essayer Cartesia