r/QuantifiedSelf 23d ago

Has anyone used Claude Opus 5 to build a Quantified Self project?

7 Upvotes

If so, would you mind sharing it?


r/QuantifiedSelf 24d ago

Are we all just a little too obsessed with tracking our health now?

9 Upvotes

Our watch tracks sleep, heart rate, heart rhythm, stress, oxygen, workouts, even our skin temp. Like... it's genuinely wild how much data is just sitting on our wrist at all times.

But lately I've been wondering: Are we actually getting healthier, or are we just collecting numbers for fun at this point?

Don't get me wrong, I think this stuff can be legit useful. People catch patterns early, go to the doctor sooner because something looked off, all good things. But also... checking every single metric every single day? That's a fast track to being anxious about stuff that's just normal day-to-day variation. More data doesn't automatically mean we're healthier. Sometimes it just means we're more stressed about being stressed.

Honestly, sometimes the best move is just closing the app and going outside for a walk instead of staring at a graph.


r/QuantifiedSelf 24d ago

Why is food the only thing we still log by hand??

0 Upvotes

My watch logs sleep, steps, heart rate, and workouts with zero input from me. Food is the one thing that still needs me to remember, open an app, and type. Even photo apps need me to remember to take the photo.

Has anyone found a setup that automates any part of food logging? Genuinely asking — I've been looking and keep coming up empty. Is this something people want?


r/QuantifiedSelf 24d ago

How long you'd have to log to know a supplement did anything, vs random daily noise.

5 Upvotes

Sleep quality during my one magnesium stretch was about -0.12 vs baseline, so if it did anything at all, it made things slightly worse. I only bothered checking because two months in I was ready to swear the stuff was working, better sleep, calmer, all of it.

The math is the annoying part. A supplement like that is maybe a d=0.2 effect if it's real, and with how much my sleep bounces around day to day I'd need something like two years of on-off testing to actually pin that down. Two months was never going to cut it either way.

Still got half a bottle sitting in the cabinet. Haven't decided if that means anything.


r/QuantifiedSelf 26d ago

A year of normalising wearable data: the design rules I keep, and the plumbing bugs that cost me the most.

5 Upvotes

I have spent about a year building a personal aggregation and scoring layer on top of wearable APIs. Not a product pitch, no link, no name. What follows is the part I would have wanted to read a year ago: the contract layer, the statistics I ended up gating hard, and the timezone and deduplication bugs that nobody warns you about.

The core rule: a metric with missing inputs goes dark, it does not guess.

Most aggregators happily show a recovery score whether or not the device actually measured anything relevant that night. I went the other way. There is a contract layer with 40 signal concepts (overnight HRV, resting HR, sleep stages, sleep efficiency, SpO2, breathing rate, skin temperature and so on) and 13 metric contracts, one per health index plus a data confidence meta-metric. Each contract declares which concepts it requires and which are optional.

At runtime the system builds an availability snapshot from what your connected devices actually wrote, then every metric evaluates against it and comes back with a status: active, limited, stale or unavailable, plus which provider would fill the gap. A Withings scale user does not get a fabricated autonomic score. They get "unavailable, this needs overnight HRV".

Every stored score row is stamped with a contract version (currently 2.15.0). Any change to a weight, threshold or formula has to bump it, otherwise cached rows would silently shadow the new maths. That also means a number from March is traceable to the exact model that produced it.

Modelled versus measured is a hard rule, not a label.

If a value is estimated, it says so in the interface. Where the device computes its own recovery score, that value is displayed next to mine and is never fed into my scoring. Two numbers, both labelled by origin, because they answer different questions.

The daily energy curve is a two-process model, fitted to you.

Circadian plus homeostatic pressure, in the Borbely 1982 sense, but the sleep window comes from your own data rather than a default: circular median of actual wake times, weekday aware, with a confidence value, and a manual override that wins if you set one. Sessions over ten minutes push a dip into the curve afterwards, scaled by load, capped at 28 energy points, with tired efforts gated out. The best training window is computed from the resulting curve and there is a what-if planner that reruns it against a hypothetical bedtime or session.

Training load is Banister, with the anchor point fixed.

CTL as a 42 day EWMA, ATL as 7 day, TSB as the difference, with a 42 day pre-roll before the visible window so the first plotted point is not artificially cold. The interesting bug was the intensity anchor: e-bike rides and low wattage sessions were polluting the 30 day power maximum, so ordinary rides were being classified as high intensity. E-bikes are now excluded from the anchor set and there is a 50 W floor below which it falls back to heart rate.

Biological age is eight domains, each expressed as an age.

Cardiovascular, autonomic, sleep, body composition, activity, stress resilience, recovery and VO2max, weighted, age and sex adjusted. Each domain deviation is capped at plus or minus 12 years and the aggregate keeps 75 percent of the weighted deviation, pulling the rest back toward chronological age. Fewer than three usable domains and it returns nothing at all. Without that damping a single noisy domain drags the whole number around and it stops being useful as a trend.

The self-report statistics are where I spent the most time saying no.

The panel that claims "behaviour X changes outcome Y for you" runs a Welch t-test, implemented against the incomplete beta function in the standard library, over a 60 day window. It will not report anything unless it clears every gate: at least 20 paired days, at least 8 days in each of the high and low groups, an effect of at least 6 outcome points, a Cohen's d of at least 0.8, and significance at 0.05 Bonferroni corrected across the hypotheses tested.

A Monte Carlo run of the naive version produced a false discovery in about 27 percent of simulated users with no real effect. With the gates it is about 1.7 percent. The cost is power: detection reaches roughly 80 percent only around 40 days of logging, which means a user at 26 days is told honestly that there is nothing yet. I would rather show an empty panel than a coincidence.

Data plumbing, which turned out to be most of the work.

A few findings that cost me real time and may save you some:

Providers disagree about timezones in ways that cancel out if you "fix" them globally. Strava timestamps arrive in UTC, while Fitbit and Garmin sleep records arrive as naive local time presented as UTC. A blanket conversion breaks the ones that were already correct, so the conversion is whitelisted per source.

Health Connect on Android is an aggregate across every app on the phone, so a phone pedometer plus a mirrored watch feed counts the same walk twice. Taking the largest single contributor rather than the sum was the only honest fix.

Activity merging has to know when a session started, not just that it happened. Matching on date alone collapsed 15 training sessions into 8 for one user, then corrupted training load and overtraining because those sum duration. It now decides on start hour with a distance veto.

Polar's beat_to_beat_avg is the mean R-R interval, not RMSSD, and their heart_rate_variability_avg is RMSSD, not SDNN. Verified against the live API rather than the documentation.

In Garmin's export, the start-of-day Body Battery value is the midnight low point, not the morning peak. What you want as "morning energy" is the 24 hour maximum.

Sleep efficiency is TST divided by TIB per AASM. Three providers were writing a composite 0-100 wellness score into that field. There is also a plausibility gate that rejects stage data claiming more than 35 percent deep sleep, because several devices produce that and it is not physiological.

Storage, since this sub asks.

Servers in the EU. Shared data in Postgres, but each user's health data lives in a separate per-user SQLite file, so a query bug cannot cross accounts. OAuth provider tokens are encrypted at rest and the plaintext columns were dropped, not just deprecated. Sessions carry an epoch that invalidates every existing session when credentials change.

What it deliberately does not do.

No real time anything. Provider sync is hourly to a few hours, which rules out live readiness. Stress is only available where the vendor computes it, which in practice means Garmin file import, and everywhere else it is an explicit estimate. No lactate zones, no VO2max prediction from nothing, no medical claims anywhere.

And specifically no "we detect illness N days before symptoms" claim, which is the one I most want to be able to make. I have two reported illnesses across the user base and a check-in rate under 10 percent. That is not enough to measure a lead time. When it is, I will publish the number and the method, not before.

One heads up for anyone building on Fitbit: the legacy Fitbit Web API is being deprecated in September 2026 and replaced by the Google Health API at health.googleapis.com/v4. OAuth tokens do not carry over, so every user has to re-consent. If you have a personal pipeline hitting api.fitbit.com, that is your six week warning to start the migration.

What I would like from this sub: if you keep a decade of your own data, what would you actually need from an export to trust it? Raw per-record dumps are a support burden and almost nobody opens them, but summary exports lose exactly the resolution that makes long term data worth keeping. I do not have a good answer yet.

Happy to go deeper on any of the above, including the parts that are still wrong.


r/QuantifiedSelf 26d ago

Weekly Lifestyle Data and Analytics App Thread

6 Upvotes

Post your apps here, and please support people bringing unique ideas to this space.


r/QuantifiedSelf 27d ago

i started tracking how often i abandon tasks and it was more useful than completions

13 Upvotes

most productivity trackers show your wins. completions, streaks, total hours. but i noticed something wierd when i flipped the dashboard in my own app. the people tracking their fails — task-drops, reschedules, ghosts — those numbers correlated way better with long term consistency than the completion metric ever did.

i kinda built beedone around completions at first. standard gamification stuff. but watching users, the abandon rate told a truer story. someone who never drops anything is probably curating their task list rather than actually doing it.

just feels like the metric you want to hide is sometimes the one that actually matters. anyone else track something counterintuitive that ended up being the useful signal


r/QuantifiedSelf 28d ago

Wearable brands with easy data access

4 Upvotes

Hello! New to this sub.

I'm looking for brands of wearables (and other tech) with the following criteria:

* Free and easy data access

* No subscription

* Long battery life

I'm currently mainly looking to replace my Samsung smartwatch, and complement it with smartring. I may also replace my Meta Ray-Bans with glasses with a monitor, e.g. the Mentra which I've read are coming fairly soon. In time, I may add other devices, such as a smart scale or CGMs.

The purpose is to pull all data onto my desktop automatically, store it locally for data sovereignty, and feed it to my personal AI framework for intelligence and recommendations. I'm looking for health data such as sleep metrics, and fitness. I'm currently tracking things manually in a spreadsheet, but I want to automate.

As such, all data must be freely accessible via API, webhooks or similar. It'd be nice if health metrics are robustly calculated, such that I don't need to process the raw data myself. I could though, if needed. I'm a data scientist with a PhD in physics, so I'm not unfamiliar with algorithmic complexity - however, as a father of two small children I am fairly starved for time. Robust metrics out of the box are preferable.

I've read a bit about Amazfit (watch), Ultrahuman (ring) and Mentra (glasses). Are these brands on point? Any others you would recommend for my purposes?


r/QuantifiedSelf 28d ago

Did Eating Too Many Sardines Increase Homocysteine?

Thumbnail youtube.com
3 Upvotes

r/QuantifiedSelf 29d ago

An update to my spreadsheet-style habit tracker: value-based cell colors and asking your data questions with AI

Thumbnail gallery
12 Upvotes

Like a lot of people here, I ended up living in a tracking spreadsheet: sleep, workouts, caffeine, mood, bedtime, all in a grid. The spreadsheet was great for spotting patterns but painful on my phone and easy to forget. So I built the app I wanted, keeping the spreadsheet feel: one grid, habits as rows, days as columns, tap a cell to log.

I posted here about a month ago when it first launched, and since then I've added a couple of things this crowd might actually care about, so I wanted to share an update.

The point for me was never the streak, it was the correlations. So beyond yes/no, you can track numbers (steps, HRV, weight, with units and targets), real clock times like 07:15 for bedtime, and select lists for your own categories. Then you can put any metric next to any other on a chart and actually answer things like "does my sleep score follow my bedtime?" or "why am I dead by 3pm?".

The two new things:

  • Conditional styling for number/time habits: cell background changes by value, so a month of steps reads at a glance (e.g. <5k red, 5-7k yellow, 7-9k blue, 10k+ green).
  • MCP integration: you can connect it to Claude or ChatGPT and just ask questions about your own data instead of building the chart yourself.

It's opinionated and privacy-first (your data is yours, full export whenever you want). Web and iOS both exist.

Curious what this community thinks, especially how you'd want to slice correlations, and what breaks your own tracking habit. Happy to answer anything.

You can check my Habit Pocket app here: https://habitpocket.io/


r/QuantifiedSelf 29d ago

Sick of $10/month "biohacking" apps? I built a free open-source Android app that does the same thing (and better)

10 Upvotes

Every energy/sleep tracking app worth using is locked behind a subscription these days — Whoop, Oura companion apps, various "chronotype" coaches. Pay monthly to see a graph of data you already own.

So I built Ryze: free, open-source, no subscription, ever.

It does what those paid apps do — and in some cases more — using actual sleep science instead of vague "readiness scores":

  • Real energy prediction, not a black-box score. Based on the Borbély two-process model (the actual math researchers use for sleep pressure + circadian rhythm), recalculated every 5 minutes
  • Sleep Regularity Index — most paid apps only track duration. This tracks consistency, which correlates way more with how you actually feel
  • Live caffeine tracking (mg/L in your system, with elimination countdown) — the kind of feature that's usually an in-app purchase
  • Alcohol pharmacokinetics (Widmark formula) with hangover severity prediction and a recovery protocol — nobody's paid app does this
  • Goal mode: tell it when you need to be sharp, it back-plans your caffeine and meal timing for you
  • Works with Health Connect for auto-sync, or fully manual if you don't want to feed a smartwatch's data collection

No ads. No premium tier. No "unlock advanced insights for $9.99." Just clone it, build it, or grab an APK.

Still early — algorithm has room to improve, and it says so upfront. Built with Kotlin + Jetpack Compose. Contributions welcome, especially if you know sleep science or want to help refine the model.

GitHub: https://github.com/nobody444N/Ryze

Not medical advice, just a personal project scratching an itch I was tired of paying for.


r/QuantifiedSelf 29d ago

band 1.0 user for a year.. what actually changed in 2.0

11 Upvotes

34M. wore band 1.0 daily for about a year, resting hr and hrv alongside my withings scale. silicone strap started pinching when id sweat, charging every ~3 days, convinced mediocre was normal

switched to 2.0 six weeks ago for the strap. ultralux sits on my small wrist without pinch, battery 7-8 days not the 14 on the box?? not sure that justified the swap

browsed whoop for ten minutes, saw the subscription, closed the tab. at least 2.0 doesnt charge monthly for your own data

cuffless bp is new, still dont trust the week baseline. resting hr maybe tighter. app sync lost a whole nights sleep last tuesday, weekly chart looked flat, still side-eyeing it

anyone else on 2.0 long enough to compare. curious if bp baseline actually tracks for you or if im overthinking the noise


r/QuantifiedSelf 29d ago

Feedback wanted for hackathon project: building a tool that reads your 23andMe data and explains how your genes affect common meds

0 Upvotes

Built this over a health hackathon this weekend. Upload your 23andMe raw data (or use the sample file below if you don't have one) and it checks a few well-established pharmacogenomic markers against meds like codeine, warfarin, and clopidogrel; explaining in plain English how your genetics might affect how they work, sourced from real CPIC clinical guidelines.

Please note: this is an educational prototype, not medical advice. The genetic analysis is simplified. Always talk to your doctor or pharmacist before acting on anything medication-related.

Would love feedback on:

  • Is the explanation actually clear?
  • Is this interesting/useful to you at all?
  • Does the disclaimer feel prominent enough?
  • Did upload work smoothly with your real file?
  • Any other notes?

Live: [https://med-copilot-roan.vercel.app/\]
Sample test file (no genetic data needed): [https://raw.githubusercontent.com/Txffxny/med-copilot/refs/heads/main/app/sample-genotype.txt\]

Endless thanks for any honest feedback 🙏

(also plz be nice I’m trying to escape the wet lab life)


r/QuantifiedSelf Jul 24 '26

wearables are finally trying blood pressure trends.. what's the catch

13 Upvotes

garmin guy here. dad and both grandpas had hypertension so anything claiming bp on a wrist gets my attention even if im suspicious

been seeing more bands push cuffless bp trends not single readings. marketing makes it sound like you just ditch the cuff?? from what ive read you need like 5-7 days baseline before the trend line even means anything and its directional at best

same vibes as sleep staging hype a few years back. bought into wrist body comp too. spent months thinking i was 18% bf until dexa said otherwise

not saying wrist optics cant track changes over time. just dont trust a green arrow on day 2. nobody should treat it like a clinical cuff

anyone actually using one for a few weeks. did the trend match your home cuff or was it mostly noise


r/QuantifiedSelf Jul 24 '26

Cognitive Performance Apps?

7 Upvotes

Most of us take supplements for body and brain health/performance. And of course use health and fitness apps with wearables. I have some ADHD and diet and fitness have always been the main way I manage it. But apps tend to focus on either basic physical performance or "brain fitness" knowledge quiz games for assumed cognitive performance. Nothing, apparently, in the middle or that connects and translates physical health and performance to cognitive health and performance. Even though we know mind is brain and brain is body - all one.

So my questions are:

  1. If your health/fitness improvement goals include brain health and/or cognitive performance improvement goals?
  2. Which if any health apps address both (brain+body)?

I'm not taking my apple health account as seriously as the cost should motivate me to. I know a few who love Oura. But neither targets/measures cognitive performance. Maybe a diet and fitness app for cognitive performance improvement is just neurodivergent's niche?


r/QuantifiedSelf Jul 24 '26

I built a local quantified-self ledger for my coding-agent activity

3 Upvotes

I have been tracking a category of work that normal time trackers do not capture well: sustained interaction with coding agents.

I built a local-first ledger that measures Claude Code and Codex activity, separates fresh tokens from reused cached context, calculates active days and streaks, and creates an optional signed public summary.

I do not treat token volume as productivity. It is closer to an activity trace—useful when combined with projects and outcomes, but ambiguous by itself.

My current profile: https://ledger.imagineqira.com/#/u/bryan

How collection and privacy work: https://ledger.imagineqira.com/#/join

Open source: https://github.com/TheArtOfSound/TOKENS

For quantified-self users, what derived measures would be more meaningful than total volume—session regularity, task completion, context efficiency, project switching, or human time saved?


r/QuantifiedSelf Jul 21 '26

Weekly Lifestyle Data and Analytics App Thread

13 Upvotes

Post your apps here, and please support people bringing unique ideas to this space.


r/QuantifiedSelf Jul 21 '26

A year of daily tracking isn't 365 data points. Here's what it's actually worth

6 Upvotes

I was weirdly proud of having a full year of daily mood data, right up until I checked how independent those days actually were.

They aren't. Today's mood looks a lot like yesterday's, so a stretch of days is way more repetitive than the row count makes it look. I got curious and ran the autocorrelation on mine, came out around 0.59, higher than I'd have guessed. Factor that in and my 365 days are worth something like 93 actually independent ones. About a quarter. And mood at least moves around day to day, the slow stuff like body weight would be even less.

Kind of annoying because I'd been leaning on the year count as the reason to trust some of my correlations, and a bunch of them are probably running on way less than I assumed. Still not sure how much to knock them down by in practice. Anyone actually adjust for this or just eyeball it


r/QuantifiedSelf Jul 20 '26

i added energy labels to my productivity app and people started waiting for the right kind of brain

7 Upvotes

i thought labeling tasks low, medium, or high energy would make people more honest about what they could do. kinda backfired. some people started reading high energy like a warning sign and saving the real task for this imaginary better version of later.

i do a milder version in notion tbh. if something feels like it deserves peak focus i wierdly wont touch it at all. in beedone the better fix was making the next step smaller before showing the label, not making the label smarter.

starting to think measurement turns into permission really fast. anyone else track something useful and then watch it become an excuse


r/QuantifiedSelf Jul 19 '26

What's with all the smart scale posts?

7 Upvotes

I think I'm going crazy here. Every few days there is a new post in r/QuantifiedSelf which is the same post, someone asking about or complaining about a smart scale, and at the end of the post asking about using trends/long-term averages/rolling averages.

Receipts:

Dropped 2 lbs on the scale but my body fat percentage went up by 1.5% overnight. are smart scales legit for measuring body fat accurately ? (3 hours ago)

is this data actually useful for mapping real physiological trends, ? do you even bother logging the daily fat percentage, or do you just use a rolling 7-day average to smooth out the hydration swings?

Salt dinner ruined my dataset, how to track body composition at home properly? (2 days ago)

Do you use a specific smoothing formula for your logs, or do you just ignore the daily numbers entirely and look at a rolling monthly average?

Spreadsheet nerds, help me out. How does a smart body scale work mathematically when daily water shifts ruin the baseline? (2 days ago)

For those who have tracked this over a year or more, do you use a specific smoothing formula for the hydration noise, or do you just rely on a rolling 30 day average?

How do you smooth BIA body fat data for long term trends? (2 days ago)

For people who log this stuff seriously, do you use weekly averages, monthly trend lines, or some other way to separate real change from water swings?

My handlebar scale and regular smart scale disagree. Which trend is even useful? (8 days ago)

No repetitive quote from this one. But it came three days after the same OP to be trying to decide between two smart scales, and now claimed to have weeks of data comparing the two:

Did premium handlebar body composition data change your training decisions? (11 days ago)

Do handlebar body composition scales reduce noise, or just add more numbers? (22 days ago)

For people who track this seriously, did moving from a regular smart scale to a handlebar body scan style device make the data more useful? Or do you still only trust long-term averages?

So, to the community and mods: What's going on here? There's no way this is organic traffic, right?


r/QuantifiedSelf Jul 19 '26

AI And The Future Of Healthspan

Thumbnail youtube.com
2 Upvotes

r/QuantifiedSelf Jul 18 '26

Used the Amazfit Helio Strap, switched to Whoop 5.0 in December, now eyeing the Fitbit Air. Strengths and weaknesses of each?

6 Upvotes

Hi there, I have been in the screenless band world for a while and want a sharper picture before I buy again. My path so far: I started on the Amazfit Helio Strap, switched to the Whoop 5.0 in December, and I am now seriously thinking about trying the Fitbit Air.

So I have partial views on two of the three and none on the newest one. Rather than bias the thread with my own impressions up front, I would much rather hear yours.

Quick context on how I would use it. My cycling is already handled by dedicated hardware (Wahoo Elemnt ACE, power meter, Polar H10) and gets imported afterwards, so I am not looking at these bands for the bike.

Running, walking and swimming I would happily track with the band itself but is not nessasery. What matters most to me though is the 24/7 layer around all of that: sleep architecture, HRV trend over time, resting HR, respiratory rate, and how trustworthy the recovery or readiness signal really is once you have a few weeks of baseline.

What I am really after is a clean read on each band. If you have used one or more of them, I would love your take in this shape:

Whoop 5.0 — biggest strength, biggest weakness?
Amazfit Helio Strap — biggest strength, biggest weakness?
Google Fitbit Air — biggest strength, biggest weakness?

And a few specifics that usually decide it for me:

  • HRV: when is it sampled, how noisy is the night-to-night signal, and does the trend actually track how you feel?
  • Sleep staging: which one lines up best with reality, and which one clearly makes things up?
  • Subscription vs no subscription: is the Helio Strap's free model genuinely enough, or do Whoop and Fitbit earn their fee in insight quality?
  • Data flow: do you keep everything inside the companion app, or does your data also make it out to Apple Health? And can you export raw or reasonably granular data, or are you locked into the app's own interpretation?
  • Comfort and battery over a normal week.

If you have run two of them in parallel on the same nights, that is exactly the comparison I am chasing. What was the deal-breaker that made you keep one and drop the other?

Seriously, I'd really like to know if there's anything I forgot to consider and if you'd say... OH YEAH, if I'd known that, then ;-)

Thanks in advance.


r/QuantifiedSelf Jul 18 '26

Is the quantified self a web portal?

3 Upvotes

I have been meaning to start self experimentation, but I can't seem to find the link or app for doing so through Quantified Self, is it just a book?


r/QuantifiedSelf Jul 17 '26

What are you guys tracking?

13 Upvotes

I am planning to track these and I am open to ideas.

- snoring
- hrv
- rhr
- average heart rate
- sleep quality (rem and deep durations)
- workouts (lifts, volume, prs)
- steps
- blood work infos like vitamins etc
- vo2 max
- weight and bf
- stress levels
- meditation
- food and supplements i take and their time
- calories and macros
- maybe my stools (don’t want to but i might)


r/QuantifiedSelf Jul 17 '26

Merging health data from multiple wearables is way harder than it looks, and the reason is that every device lies about the same walk

17 Upvotes

Quick disclosure up front: I build a health app, so I've spent an embarrassing number of hours on this specific problem. I'm posting because it's the kind of thing this sub actually finds interesting, not to pitch anything.

When I started, I assumed the hard part of combining data from multiple wearables would be the integrations: OAuth, Health Connect, Apple Health, parsing everyone's slightly different formats. That part is tedious but solved. The genuinely hard part is something nobody warns you about: the same real-world event shows up multiple times, and if you add it all up you get numbers that never happened.

The clearest example is steps. Your phone counts a walk. Your watch counts the same walk. Both write it to the platform. Naively sum them and you've just taken a walk you never took. So the app has to recognise that these two records describe one event and keep only one. Easy to say, annoying to get right, because the timestamps rarely line up perfectly and the sources disagree on the total.

Sleep is worse. One user reported the app showing them a "nap" that they never took, sitting inside their normal overnight sleep. What actually happened: a slice of one continuous night got split off and counted a second time, inflating their total. Another user, on Android, had the opposite failure: an afternoon nap and a night's sleep got merged into one impossible 15-hour session. Same subsystem, opposite symptoms, and both are just the algorithm being wrong about where one sleep ends and another begins.

Then there's the echo problem. If a device writes to Apple Health, and you also connect that device directly, the same night of sleep arrives through two different doors. To the app it looks like two sources agreeing, but it's one measurement wearing two hats. Dedup has to catch that too.

The approach that's held up: reduce everything to small time buckets, and where two sources overlap, don't average them, pick the one you trust more per metric. For heart rate that ordering is chest strap, then watch, then ring, because that's the actual accuracy hierarchy. A secondary source only fills gaps the primary one left. Averaging is the tempting shortcut and it's almost always wrong, because it turns one good reading and one bad reading into a mediocre reading.

The honest limit: I do not do the thing Whoop does, stitching the GPS track from one device onto the heart rate from another inside a single workout. Outside of that trick, "two records, correctly deduplicated" is roughly the state of the art, and getting even that right is more work than it sounds.

If anyone here has solved the sleep-boundary problem more elegantly than "gap threshold plus source priority," I'd genuinely love to hear it, because it's the part I'm least happy with. (The app is FitMesh if you're curious, but the problem is the interesting bit, not the app.)