Un diario vocale
che ti racconta la tua settimana

Tocca per registrare una nota di diario. Il modello ink-whisper di Cartesia la trasforma in testo, e un LLM aggiunge un titolo, un umore e una riflessione di una riga. Quando vuoi, Sonic 3.6 ti legge un breve riepilogo degli ultimi sette giorni con la voce che scegli.
Screenshot dal telefono della schermata Weekly recap: un riquadro This week con una nota e un badge di umore Hopeful, il selettore di voce impostato su Tessa, il pulsante Write my recap e l'ultimo riepilogo in riproduzione a 0:04 di 0:32

Screenshot. Il template in esecuzione in locale.

Modelli
ink-whisper, sonic-3.6
Lingue
Inglese
Licenza
Apache-2.0
Stack
ExpoReact NativeExpo Router API routesAI SDKAsyncStorage
Prodotti Cartesia
InkSonic 3.6

Cosa fa

Una sola app gira su iOS, Android e web. Le note restano sul tuo dispositivo, quindi non c'è un database né un login. Le registrazioni vanno a Cartesia per la trascrizione, e le trascrizioni al tuo provider LLM. L'app lo dice sotto il pulsante di registrazione, e il suo server non salva audio.

Eseguilo tu

  1. Installa

    Esegui i comandi qui sotto con Node 22.22 o successivo. Funziona anche pnpm. Compila .env.local seguendo la tabella qui sotto.

    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
    

    Variabili d'ambiente
    CARTESIA_API_KEY
    play.cartesia.ai/keys
    LLM_MODEL
    provider/model, per esempio openai/gpt-5.4-mini
    OPENAI_API_KEY
    Se LLM_MODEL inizia con openai/
    ANTHROPIC_API_KEY
    Se LLM_MODEL inizia con anthropic/
    AI_GATEWAY_API_KEY
    Per qualsiasi altro fornitore
    TRUST_PROXY
    Facoltativa. 1 dietro un tuo reverse proxy
  2. Registra una nota

    Esegui npm run dev, poi premi w per aprire l'app web. Per usare un telefono, scansiona il codice QR con Expo Go, l'app gratuita di Expo per provare i progetti. Registra una nota con Start recording. Poi apri Recap e tocca Write my recap.

Crealo con il tuo agente di programmazione

Un prompt che dice al tuo agente di programmazione da dove partire e cosa leggere per primo.

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.

Come funziona

Registrazioneexpo-audio, m4a sui telefoni e WebM sul web
ink-whisperIl server invia ogni registrazione a Cartesia
LLMUn titolo, un umore e una riflessione, poi un riepilogo degli ultimi sette giorni
Sonic 3.6Restituisce il riepilogo come MP3
DispositivoNote e riepiloghi restano sul dispositivo

Perché funziona così

Una registrazione finita non ha bisogno di streaming

Una nota di diario è una registrazione finita, quindi un solo caricamento a ink-whisper è più semplice di un flusso in diretta. Lo streaming richiederebbe anche l'audio grezzo mentre parli, e il registratore di Expo non lo fornisce sul web.

Il riepilogo è scritto per essere ascoltato

Il riepilogo legge le note degli ultimi sette giorni, dalla più vecchia, ed esce con 120-200 parole scritte per l'ascolto. Sonic 3.6 lo restituisce come MP3 che si riproduce su ogni piattaforma.

Personalizzalo

Cambia la voce predefinita

La voce predefinita è impostata in lib/limits.ts. Scegline un'altra dalla libreria di voci di Cartesia, poi aggiorna la sua descrizione in app/recap.tsx.

Trascrivi un'altra lingua

Cambia la lingua di trascrizione in app/api/transcribe+api.ts. Poi cambia la lingua della voce in app/api/speak+api.ts e scegli una voce che la parli.

Cambia gli umori

L'elenco degli umori è in lib/schema.ts. I prompt della riflessione e del riepilogo sono in lib/server/prompts.ts.

Domande

La mia API key è al sicuro in un'app mobile?

Sì, finché resta sul server. Le route server dell'app leggono la chiave, che non entra mai nell'app installata sui telefoni. Non dare a una chiave il prefisso EXPO_PUBLIC_, perché Expo mette quei valori nell'app, dove chiunque può leggerli.

Funziona su un vero iPhone o Android?

Sì, in Expo Go durante lo sviluppo. Per una build da store, fai il deploy delle route server e punti l'app su di esse. La build web è stata provata in Chrome, e quelle per telefono compilano ma non sono state eseguite su un dispositivo.

Posso metterla online così com'è?

No. Le route server sono aperte a chiunque, quindi aggiungi un login e verificalo in ogni route prima del deploy. Il limite di richieste incluso frena solo gli abusi occasionali.

È un'app di terapia?

No. I prompt chiedono al modello di non fare diagnosi né dare consigli medici. Se una nota parla di autolesionismo, il modello suggerisce una persona di fiducia o un numero di emergenza locale.

Posso usare la mia voce per il riepilogo?

Non in questo template. La clonazione vocale è stata esclusa di proposito, quindi l'app usa solo voci della libreria Cartesia.

Esiste una guida passo passo per questo template?

Sì. La ricetta spiega il codice passo per passo, il README copre configurazione, variabili d'ambiente e deploy, e il riferimento API della trascrizione batch spiega la parte Cartesia.

Inizia oggi

Parla con un esperto.

Contatta un membro del nostro team e scopri come Cartesia può aiutarti a creare esperienze vocali di altissimo livello.

Contatta il team commerciale

Inizia a sviluppare.

Accedi ai nostri modelli tramite API e porta un agente vocale in produzione in pochi minuti.

Prova Cartesia