For three releases, the Digital Twin in DailyVox has learned from one channel: the words you choose. That is enough to build a mirror of how you think, but it leaves a gap. You can write a calm-sounding entry while your resting heart rate is 78 and your HRV is half its baseline. The Twin reads "calm" because the words say calm. The body says otherwise, and the Twin never hears it.

v1.4 fixes that. We are calling it Body Twin. It brings Apple Health and Apple Watch into DailyVox so the Twin can finally tell the difference between feeling stressed and being stressed — between a narrative and a physiology — without breaking the privacy promise that has defined the app since v1.0. This is the plan, the design choices we made, and the failure modes we had to solve before any of it works.

Why a Body Twin Now

The original roadmap had v1.4 focused on semantic search — better retrieval over your entries, NLEmbedding-driven clustering, the foundation for on-device RAG. That work is still coming, but it has moved to v1.5. The reason is simple: the Twin getting smarter about text matters less than the Twin getting access to a second channel of truth.

The v3.0 vision document explicitly lists this as a Twin limitation:

Feel what you feel — no embodied experience (fatigue, hunger, physical state) or subconscious drives.

v1.4 does not fully solve that. It moves the line. The Twin still cannot feel what you feel — that would require something genuinely speculative — but it can finally read what your body is doing, alongside what your words are saying. That changes a lot of things downstream, and it changes them earlier than the v3.0 timeline assumed.

Apple Watch is in the same release for a related reason. A Watch journal app without HealthKit context is half-baked: Watch's primary value to a journal is the body data it produces. Shipping them as one release, rather than two, gives both pieces a coherent story.

What the Twin Learns from Body Data

DailyVox's Digital Twin is made of four sub-models — Mind, Heart, Voice, Graph. Each one gets sharper when physiology is added to the mix.

Heart model — from narrative mood to physiological mood

Right now, mood is inferred from sentiment in text. That mostly works, but it cannot distinguish performative calm from actual calm. Add HealthKit and the Heart model sees what the words do not say. Mood prediction stops being a guess from journal tone and becomes a multi-signal forecast: text sentiment plus sleep, HRV trend, and resting HR. Confidence improves. This is the single biggest upgrade in v1.4.

Mind model — cognitive state as a learned variable

The Mind model captures how you reason. With physiology layered in, it learns patterns like you ruminate more on under-six-hours sleep or your decisions are more decisive after a workout. Cognitive state stops being a hidden variable. The Twin will eventually be able to say: you are about to make a decision on 5 hours of sleep — your past pattern says regret 60% of the time.

Voice model — stress detection without guessing

Pacing, hesitation, and tone can suggest stress, but they are noisy signals on their own. With heart rate sampled during the recording (via Watch), the Voice model has a ground-truth physiological reading at the moment of speaking. It learns to distinguish performative calm from actual calm — the moment your voice sounds steady but your heart says otherwise becomes a discoverable pattern, not a hidden one.

Graph model — people and places now carry a body signature

Today the Graph links entities (Mom, the gym, the Friday deadline) to sentiment. With HealthKit, every edge in your graph gains a physiological weight too. Mentioning your boss does not just correlate with negative sentiment — it correlates with a 14% HRV drop. The gym does not just correlate with positive mood — it predicts a 0.4 mood lift the following day. That is the kind of insight that feels like the Twin actually knows you.

The Design Problem We Had to Solve First

The obvious version of this feature would be: read heart rate during the recording, write it into the entry, let the Twin learn from it. That version is broken. Here is why.

Imagine you are jogging and decide to record a journal entry mid-run. Your heart rate is 165 because you are running. The naive integration writes "heart rate 165" into your entry. The Twin reads that and concludes: extreme stress. Your peaceful jog-and-think is now permanently tagged in your history as a moment of crisis.

The same problem appears in subtler forms. Recording right after a workout, when HR is decaying but still elevated. Recording on caffeine. Recording while walking briskly to a meeting. In every case, the body data is real, but it is not emotional — it is physiological in a different sense, and treating it as emotional poisons the Twin's mental model.

So we built Body Twin in two layers, with a context tag mediating between them.

The Two-Layer Model

Body data feeds the Twin through two distinct layers, with different sampling rules.

Layer 1: Background context

The first layer captures the state your body is in as you approach the entry. These signals are sampled by Apple Health when they are meaningful, not at the moment you tap the mic. So they never have the jogging problem:

  • Sleep last night
  • Morning HRV (taken at rest before you got up)
  • Resting heart rate baseline
  • Steps so far today
  • Mindful minutes

This layer powers the new body whisper card that appears before recording — a single line like "You slept 5h 20m. HRV is low. Take a breath." The Twin uses it as background context for any entry, no matter what you are doing when you record.

Layer 2: Foreground signature

The second layer is the moment-of-recording one — the one with the jogging problem. So the rule is: only capture it when capture is meaningful.

During the recording, DailyVox checks your activity state in real time. If you are stationary and have been for at least ten minutes — and you are not in an active HKWorkoutSession — your heart rate is sampled and stored as the entry's embodied signature. If you are active, post-workout, or in motion, the heart rate is not stored as an emotional signal. Instead the entry is tagged with a body_context value, and the Twin treats it accordingly.

The activity context tag

Every entry gets a body_context value: at_rest, active, post_workout, or unknown. The Twin learns separate patterns for each:

  • An entry tagged at_rest with elevated HR → a meaningful emotional signal (real arousal you may not have named)
  • An entry tagged active with HR 150 → exercise, not emotion; the Twin uses words and voice to infer mood
  • A pattern across many active entries → an insight in itself: you tend to journal during runs when you are processing something

The active recording is not garbage data. It is a different kind of data, and the Twin learns to use it differently.

HR as a Delta, Not a Number

One more design choice that matters. Heart rate is not stored as a raw bpm value. It is stored as a delta from your personal baseline for that hour of day.

The reason: a recording HR of 95 means very different things for someone whose resting HR at noon is 55 versus someone whose resting HR at noon is 78. The first person is in significant emotional arousal. The second is just having a normal Tuesday. Storing the delta — "+18 above your hour-of-day baseline" — makes the signal portable across people and across times of day.

A small nightly task on-device updates your personal hour-of-day baseline as more entries accumulate. It learns your normal rhythm and refines the deltas as it goes. None of this needs a server. None of it leaves the device.

What the Apple Watch Adds

On the Watch, three things become possible that the iPhone cannot do on its own:

  1. Wrist recording. Tap the mic on your watch, speak, and the entry syncs to your iPhone via WatchConnectivity. The Twin treats it the same as any iPhone entry — same body whisper, same context tag, same constellation slot.
  2. Heart rate during the 42-second window. The Watch is the natural sensor for this. Without a Watch, the iPhone has no reliable way to read HR during a recording. With one, the foreground layer of Body Twin actually works.
  3. Constellation pulse. Each star in your constellation already has a mood color. From v1.4, at-rest stars also gain a subtle pulse intensity derived from the HR delta during recording. A calm reflection pulses slowly. A high-arousal at-rest entry pulses fast. Active-context entries get a distinct "in motion" variant instead — visually marking that the body signal was activity, not emotion. Visual depth at zero feature-explanation cost.

Watch complications round out the release: a streak counter and a "today done" indicator for quick glance. The Watch app records standalone when your phone is not nearby and syncs when it comes back. No internet involved, ever.

The Privacy Story Stays Intact

The "Data Not Collected" Apple privacy label that has defined DailyVox since v1.0 stays exactly as it is.

HealthKit reads happen entirely on-device. The per-entry snapshot — roughly ten floats per entry, plus the context tag — lives in Core Data on your iPhone, optionally syncing to your personal iCloud with Apple's end-to-end encryption. We do not see it. We do not have servers to see it from. We are not adding any third-party SDK to handle any of this.

What changes: a new section in the Privacy Policy spelling out exactly what we read, what we keep, and what we never copy. A new Settings → Health screen with a master toggle, per-signal toggles, and a destructive "Wipe all health snapshots" action that lets you take it back at any time. The HealthKit permission is requested after day 3 of using DailyVox, not at first launch — by then you know what the Twin is and you can decide whether it should have a body too.

What stays the same: zero network calls, zero third-party SDKs, zero analytics, zero accounts, zero data leaving your device. The premise of DailyVox is that your inner life is yours alone. Body Twin extends that premise; it does not bend it.

What We Are Keeping Over Time

Per entry, about ten floats: sleep hours the night before, morning HRV, resting heart rate, daily steps, mindful minutes, recording HR delta (when at rest), recording HR peak delta, activity context tag, time since last workout, and a confidence score on the activity classification. Across five years of daily journaling that adds up to a few hundred kilobytes. Trivial.

What we deliberately do not keep: raw continuous heart rate samples, workout GPS routes, second-by-second sleep stages, anything Apple Health is already storing. DailyVox does not need to be a redundant copy of HealthKit. For any deeper analysis the Twin re-queries Apple Health live, in milliseconds, on-device.

If you revoke HealthKit permission later, the historical snapshots remain — they are already yours, already local — and new entries simply lack the body layer. If you want a clean break, one toggle in Settings → Health wipes every snapshot without touching the entries themselves.

What Comes After v1.4

Semantic search and proactive insights move to v1.5. They will build on the Body Twin foundation in interesting ways — embodied search ("show me entries where I was stressed but did not say so") becomes possible only because the v1.4 snapshots are sitting there ready to be queried. The on-device Foundation Models Twin follows in v1.6, with macOS support and multi-language UI in v1.7. The roadmap document on the site has the full updated sequence.

The longer arc is unchanged. v1.6 brings the on-device Apple Foundation Models Twin, and v2.0 makes it Apple Intelligence native. v3.0 still aims at the most accurate mirror of yourself that has ever existed. v4.0 still describes the holographic on-device DailyVox Mirror device. What v1.4 does is push one of v3.0's documented limitations — the absence of an embodied dimension — significantly earlier in the timeline. The Twin gets a body before it gets a 3B-parameter LLM brain. That is the right order. A more eloquent Twin without physiological context would just be wrong faster.

When

v1.3.5 is rolling out to the App Store now. v1.4 development begins immediately after. We will share build progress on the blog and on GitHub as it comes together. The full updated roadmap with all versions through v4.0 is in ROADMAP.md.

If you want to be the first to know when Body Twin lands — and to help shape it — the App Store reviews and GitHub issues are the two best places to weigh in. The Twin learns from your words. The roadmap learns from your feedback.

Related Articles

Download DailyVox on the App Store · Read the full roadmap · getdailyvox.com