← All posts

Cross-orbit correlations — the real moat of a Personal OS

Why Notion + Mint + Apple Health separately won't show you how sleep affects productivity.

#insights#ai#correlations

By Pavel

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.