Cross-orbit correlations — the real moat of a Personal OS
Why Notion + Mint + Apple Health separately won't show you how sleep affects productivity.
Take a typical 2026 stack: Notion for notes, Apple Health for steps and sleep, your bank app for spending, Calendar for meetings. Each is a silo.
Your life is one whole thing. But your data is fragmented.
What you can't see in a standard stack
These links require looking at all areas together:
- Sleep × Tasks: how many things get closed after a decent night, and how many after a short one?
- Sleep × Habits: is sleep what decides whether you get around to your habits at all?
- Mood × Spending: do you really order more food on bad days?
- Energy × Tasks: does your own energy rating match what actually got done?
To see this — you'd have to merge data from 4-5 apps. Nobody does that by hand. So nobody actually sees it.
What Orbitly does
All spheres live in one DB, so there is nothing to stitch together: once a week Orbitly walks the recent days and computes those same four pairs.
Sleep × Tasks days with ≥ 7h sleep against days under 6h
Sleep × Habits same two groups, measured in habits completed
Mood × Spending days with mood ≥ 7 against days at 5 or below
Energy × Tasks days with energy ≥ 7 against days at 5 or below
It is a comparison of means: the week's days split into two groups by a threshold, and each group gets an average. When too few days carry entries, the pair simply isn't shown — better to stay quiet than to report a "pattern" drawn from two days.
The result appears on the dashboard weekly. Not as a "you're great" PDF report, but as a short observational line: "noticed that on days you skip the morning run, average mood drops by 0.8."
Why this only works in single-user
Teams don't share all this data with each other. You wouldn't show colleagues your sleep hours. So a SaaS product can't build cross-orbit correlations — it doesn't have the data. A single-user product has everything.
Technically
On the orb side this is correlations.ts — roughly 780 lines. Not maths in a vacuum: the functions query the DB for days themselves, and the rest is plain arithmetic, one average against another. No model takes part in the counting, and that is deliberate: the numbers must come out the same on every run.
AI joins at the last step and only to phrase the result: numbers in, a human sentence out. This is where YandexGPT Pro earns its place — three to five sentences per user per week is exactly the kind of rarity worth spending a smarter model on.