Ultradian Rhythm Timing
Predict and detect your optimal focus and rest windows using sleep data and optional real-time HRV monitoring.
Ultradian Rhythm Timing predicts your natural focus and rest cycles throughout the day. A morning forecast is generated from your overnight sleep and recovery data. If you connect a Bluetooth heart rate monitor with RR interval support, the forecast refines in real-time as autonomic phase transitions are detected.
| What you need | Any connected wearable with overnight HRV (Oura, Garmin, Whoop) |
| Enhanced mode | BLE heart rate monitor with RR intervals (Polar H10, Verity Sense, or compatible) |
| Minimum data | 3 nights of sleep data for initial forecast; 2 weeks for calibrated predictions |
| Where to see it | Dashboard timeline, For You page, notifications |
| Updates | Daily forecast after morning sync; real-time with BLE monitor |
How it works
The system operates in two tiers depending on available hardware.
Tier 1 — Sleep forecast
After overnight data syncs, the system analyzes wake time, overnight HRV (baseline and trend), sleep stage distribution, sleep efficiency, and total sleep duration to predict the day’s ultradian schedule.
Default cycle length is approximately 90 minutes, adjusted based on recovery quality. Each cycle contains a focus phase (~60-70% of the cycle) and a rest phase (~30-40%). A 30-minute sleep inertia offset is applied after wake time — the first focus window does not start immediately upon waking.
Tier 2 — Real-time detection
When a BLE heart rate monitor is connected, the app processes incoming RR intervals to compute RMSSD over 5-minute sliding windows. Phase transitions are detected when RMSSD shifts significantly from the rolling baseline:
- Sustained RMSSD rise — the body is entering a rest phase (parasympathetic upswing)
- Sustained RMSSD drop — focus is re-engaging (sympathetic activation)
Each confirmed transition recalibrates the remaining daily schedule. Predicted windows that haven’t occurred yet shift to align with the observed rhythm.
Forecast inputs
| Signal | Source priority | Effect |
|---|---|---|
| Wake time | Oura > Garmin > Whoop | Anchors cycle 1 start |
| Overnight HRV baseline | Oura 5-min > Garmin summary > Whoop daily | Higher baseline = longer cycles, sharper peaks |
| HRV trend (overnight slope) | Oura 5-min > Garmin summary | Rising slope = better recovery, more cycles |
| Deep sleep % | Oura > Garmin > Whoop | Low deep sleep = shorter focus phases |
| REM % | Oura > Garmin > Whoop | Low REM = reduced focus amplitude |
| Sleep efficiency | Oura > Garmin > Whoop | Low efficiency = fewer viable cycles |
| Total sleep | Any source | Under 6 hours triggers a conservative forecast |
Source priority means the system uses the highest-ranked available source. You do not need all sources connected — the forecast adapts to whatever data is available.
Compatible BLE devices
| Device | Type | RR intervals via BLE | Quality |
|---|---|---|---|
| Polar H10 | Chest strap | Yes | Clinical-grade (ECG) |
| Polar Verity Sense | Optical armband | Yes | Good (PPG) |
| Polar OH1 | Optical armband | Yes | Good (PPG) |
| Garmin HRM-Pro | Chest strap | Yes | High (ECG) |
| Wahoo TICKR | Chest strap | Yes | High (ECG) |
| Polar watches (Pacer, Vantage, Grit X) | Wrist watch | No | N/A — no real-time RR broadcast |
Any device broadcasting Bluetooth Heart Rate Service (0x180D) with RR interval data in the measurement characteristic is supported. If your device is not listed but advertises this service, it should work.
Pairing flow
Settings → Devices → Add HRV Monitor → scan → select device. The app remembers paired devices and reconnects automatically when in range.
What you see
Dashboard timeline
A horizontal bar on the dashboard showing today’s focus (solid segments) and rest (muted segments) windows. A current-time indicator shows where you are in the cycle. Tap any segment to see its start time, end time, and confidence.
Focus state card
Shows your current phase status and time remaining. The language adapts to the data source:
- “Detected” — BLE monitor is connected, phase is confirmed by real-time HRV
- “Predicted” — forecast-only, no live confirmation
Notifications
Configurable alerts at phase transitions. When a BLE monitor is connected, notifications are local and instant. When running on forecast only, notifications are delivered via push at predicted transition times.
Enable or disable transition notifications in Settings → Notifications → Ultradian Timing.
Session history
A daily log of actual vs predicted transitions, visible from the For You page under Ultradian Timing. Shows average cycle length, number of completed cycles, and prediction accuracy for the day.
Confidence and accuracy
| Time of day | Sleep forecast only | With BLE monitor |
|---|---|---|
| Morning (wake to noon) | ±15-20 minutes | ±5-10 minutes |
| Afternoon (noon to 5pm) | ±30-40 minutes | ±10-15 minutes |
| Evening (after 5pm) | Not reliable | ±15-20 minutes |
Confidence scores are shown on each window in the timeline. Morning predictions are the most accurate because they are closest to the sleep data anchor. Afternoon predictions drift further from the anchor, especially without real-time correction.
Calibration
The system learns your personal ultradian rhythm over time. Detected transitions (from BLE) and user-reported focus sessions are compared against predictions. After approximately 2 weeks of data, the model adjusts:
- Personal cycle length mean — default 90 minutes, adjusted to your observed average
- Cycle length variance — how consistent your cycles are day to day
- Wake-to-first-focus offset — your personal sleep inertia duration
- Recovery-to-cycle-length relationship — how strongly overnight recovery quality affects the next day’s cycle length
Some people naturally run 80-minute cycles, others 110-minute. Calibration captures this individual variation rather than forcing a fixed 90-minute assumption.
Calibration data is visible in Settings → Ultradian Timing → Personal Model, showing your learned parameters and how many observations informed each.
Limitations
- Sleep-only forecasts are estimates, not precise schedules. Treat them as approximate windows.
- Caffeine, meals, stress, and context switches can disrupt predicted cycles. The forecast does not account for these external factors.
- Afternoon predictions without a BLE monitor are significantly less accurate than morning predictions.
- This is a biometric signal, not productivity advice. The system tells you when your physiology favors focus or rest — what you do with that is up to you.
- Minimum 3 nights of sleep data required before forecasts begin. The system will not generate a forecast from a single night.