Un diario de voz
que te lee tu semana

Toca para grabar una entrada de diario. El modelo ink-whisper de Cartesia la convierte en texto, y un LLM añade un título, un estado de ánimo y una reflexión de una línea. Cuando quieras, Sonic 3.6 te lee un resumen corto de tus últimos siete días con la voz que elijas.
Captura de teléfono de la pantalla Weekly recap: un panel This week con una entrada y una etiqueta de ánimo Hopeful, el selector de voz en Tessa, el botón Write my recap y el último resumen reproduciéndose en 0:04 de 0:32

Captura de pantalla. La plantilla ejecutándose en local.

Modelos
ink-whisper, sonic-3.6
Idiomas
Inglés
Licencia
Apache-2.0
Stack
ExpoReact NativeExpo Router API routesAI SDKAsyncStorage
Productos de Cartesia
InkSonic 3.6

Qué hace

Una sola app funciona en iOS, Android y la web. Las entradas se quedan en tu dispositivo, así que no hay base de datos ni inicio de sesión. Las grabaciones van a Cartesia para transcribirse, y las transcripciones van a tu proveedor de LLM. La app lo indica bajo el botón de grabar, y su servidor no guarda audio.

Ejecútalo tú mismo

  1. Instala

    Ejecuta los comandos de abajo con Node 22.22 o posterior. pnpm también funciona. Rellena .env.local con la tabla de abajo.

    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 de entorno
    CARTESIA_API_KEY
    play.cartesia.ai/keys
    LLM_MODEL
    proveedor/modelo, por ejemplo openai/gpt-5.4-mini
    OPENAI_API_KEY
    Si LLM_MODEL empieza por openai/
    ANTHROPIC_API_KEY
    Si LLM_MODEL empieza por anthropic/
    AI_GATEWAY_API_KEY
    Para cualquier otro proveedor
    TRUST_PROXY
    Opcional. 1 si está detrás de tu propio proxy inverso
  2. Graba una entrada

    Ejecuta npm run dev y pulsa w para abrir la app web. Para usar un móvil, escanea el código QR con Expo Go, la app gratuita de Expo para probar proyectos. Graba una entrada con Start recording. Luego abre Recap y toca Write my recap.

Créalo con tu agente de programación

Un prompt que le dice a tu agente de programación por dónde empezar y qué leer primero.

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.

Cómo funciona

Grabaciónexpo-audio, m4a en teléfonos y WebM en la web
ink-whisperEl servidor envía cada grabación a Cartesia
LLMUn título, un estado de ánimo y una reflexión, y luego un resumen de los últimos siete días
Sonic 3.6Devuelve el resumen como MP3
DispositivoLas entradas y los resúmenes se quedan en el dispositivo

Por qué funciona así

Una grabación terminada no necesita streaming

Una entrada de diario es una grabación terminada, así que una sola subida a ink-whisper es más sencilla que un flujo en directo. Además, el streaming necesitaría audio sin procesar mientras hablas, y la grabadora de Expo no lo da en la web.

El resumen está escrito para escucharse

El resumen lee tus entradas de los últimos siete días, de la más antigua a la más reciente, y sale con 120 a 200 palabras escritas para escucharse. Sonic 3.6 lo devuelve como un MP3 que suena en todas las plataformas.

Adáptalo a ti

Cambia la voz por defecto

La voz por defecto está en lib/limits.ts. Elige otra de la biblioteca de voces de Cartesia y actualiza su descripción en app/recap.tsx.

Transcribe otro idioma

Cambia el idioma de transcripción en app/api/transcribe+api.ts. Luego cambia el idioma de voz en app/api/speak+api.ts y elige una voz que lo hable.

Cambia los estados de ánimo

La lista de estados de ánimo está en lib/schema.ts. Los prompts de la reflexión y del resumen están en lib/server/prompts.ts.

Preguntas

¿Está segura mi API key en una app móvil?

Sí, mientras se quede en el servidor. Las rutas del servidor de la app leen la clave, y nunca entra en la app que se instala en los móviles. No le pongas a una clave el prefijo EXPO_PUBLIC_, porque Expo mete esos valores en la app, donde cualquiera puede leerlos.

¿Funciona en un iPhone o un Android de verdad?

Sí, en Expo Go durante el desarrollo. Para una versión de tienda, despliegas las rutas del servidor y apuntas la app a ellas. La versión web se probó en Chrome, y las de móvil compilan pero no se ejecutaron en un dispositivo.

¿Puedo publicarlo tal cual?

No. Las rutas del servidor están abiertas a cualquiera, así que añade inicio de sesión y compruébalo en cada ruta antes de desplegar. El límite de peticiones incluido solo frena el abuso casual.

¿Es una app de terapia?

No. Los prompts le piden al modelo que no diagnostique ni dé consejos médicos. Si una entrada menciona autolesiones, el modelo te sugiere hablar con alguien de confianza o con una línea de crisis local.

¿Puedo usar mi propia voz para el resumen?

En esta plantilla no. La clonación de voz se dejó fuera a propósito, así que la app solo usa voces de la biblioteca de Cartesia.

¿Hay una guía paso a paso de esta plantilla?

Sí. La receta recorre el código, el README cubre la instalación, las variables de entorno y el despliegue, y la referencia de la API de transcripción por lotes explica la parte de Cartesia.

Empieza hoy

Habla con un experto.

Habla con nuestro equipo y descubre cómo puede ayudarte Cartesia a crear experiencias de voz de primer nivel.

Contactar con ventas

Empieza a crear.

Accede a nuestros modelos mediante API y lleva un agente de voz a producción en minutos.

Probar Cartesia