Hacker News new | past | comments | ask | show | jobs | submit login
Life Monitor (kevinkle.in)
92 points by kkleindev on May 25, 2022 | hide | past | favorite | 23 comments

I got myself a Garmin watch at the beginning of the year, to collect various metrics automatically. The watch uses the built in heart rate monitor/sensors to derive various data specifically:

- sleep hours (including the sleep phase type: deep sleep etc)

- stress amounts (via heart rate variability)

- energy levels ("Body battery" in Garmin speak)

I've been feeling quite drained the last couple of weeks so I wanted to see if the data I've collected over the last 3 months or so would match what I was subjectively feeling.

Interestingly Garmin does not provide any functionality to analyze long term trends, but there's an open source project to extract data from Garmin [0].

I used the tool to generate some graphs [1] that, do indeed, seem to indicate a rising level of stress over the last few months.

I'm going to try the moving average next to see if it's better than the naive approach I used, but ultimately my goal is the same as author's. I want a warning to sound off based on sleep/stress/energy levels trends. I have a tendency to overdo things sometimes. My theory is that a day off taken before some critical level is better than a week off after the burn out.

Here's the PR with the Jupyter notebook that generates the graph in the link based on Garmin Data [2].

[0] https://github.com/tcgoetz/GarminDB

[1] https://imgur.com/a/Q7MJqMB

[2] https://github.com/tcgoetz/GarminDB/pull/155

Can you link to which watch you purchased?

It’s the garmin instinct2 that I’ve got.

> Yet, this tendency for myopia and prioritization of spectacle seems not align with many interests of mine. I find that a lot of the most significant levers on my life, both good and bad, seem to rely on compounding, on consistency and longer time periods.

This is quite insightful. It applies even more so to groups of people collectively (I'm sure I need not point out specific instances). All the more so when the data is noisy, and a bit of selectivity in setting the date range for analysis can result in the trend being minimized or reversed.

A moving average graph can help dispell this illusion, but the more aggressive the averaging the more it becomes a trailing indicator. One way to adjust for this is to use two moving averages (one longer one shorter) and plotting the difference between them. That will give you a fairly clear idea of whether the trend you're looking at is getting stronger, weaker, or reversing. It is still a trailing indicator but the trend-of-the-trend knowledge helps adjust for that.

That's a great point! I vaguely tried to go in that direction by plotting the average over the past 7 days, the average over the 7 days before and the average over the year to date. Yet, I fully agree one might want to push this a little further and do as you describe. Thanks for the suggestion!

It's a common technique in stock market analysis:


You might want to look into my timeline thing [0]. At it's core, it's a database of Entries with different schemas.

- Input: There's an API you can add Entries with, and Sources that automatically pull them from somewhere.

- Output: There's an API you can query Entries from, and Destinations that automatically export them.

It's meant to be more like a diary and less like a dashboard, but once you have the data in a single database, it's easy to do other things with it.

A while ago, I made a map of my recent geolocation. It took maybe an hour, and allowed my dad to follow me during a trip. I wanted to make a maintenance schedule view for my vehicles, a budget view, and a few other things.

[0] https://github.com/nicbou/timeline

The cumulative distance of running since 1 January of each year is not particularly meaningful. Instead, the cumulative distance in the previous 365 days for each day would be a better metric. In such a diagram it would be easier to spot in which periods the performance is above or below avarge (or any other benchmark).

I agree that what you suggest is more useful in many scenarios, particularly when one care about _monitoring_ of performance.

Unlike the rest of the notifications, my ambition with this cumulative distance plot was rather to intervene by cheering than to observe by analyzing. Put differently, I tried to gamify the yearly distance - as if I was racing against last year's version of myself. I'm not advocating for this, I just liked the idea at some point.

Love stuff like this, even tried logging a full year in Excel in 15min increments (a project seen here on HN), but nothing was ever as complete or automatable as I needed it.

I have Google Fit on my phone, I have a MiBand which tracks steps + heartbeat + sleep stats, is there a way to import these daily? And generate stats from them?

Since you mention a mi band, gadgetbridge should have you covered - never tried to export data myself though.



Cheers, tried exporting using something similar like 4 years ago on a MiBand 2 and it was soooo much data unformatted. I'll check it out again.

The data is pretty much as the band provides it. Mostly in one minute resolution, giving you steps, heart rate, "intensity" (this could somehow be translated to calories). From this, you can calculate your agregated your stats...

I've been working on a platform that allows you to log and track daily events https://www.simplejournal.online/

I've been more focused on collecting rather than processing the data and giving automated feedback, like what you're doing with your telegram bot. I really like that aspect. Very cool setup

Just want to reinforce what others are saying: I visited the site and was intrigued. I wanted to see what the experience was like. So I clicked "try it" but instead of getting to try it, I was presented with a sign-up form.

Would be really great to let people try the experience and then prompt them to sign up to save it.

Thank you for the feedback, that's a good point. I was toying with the idea before but not quite sure what the right approach would be, from a technical perspective. I suppose I could just save everything on a dummy user and clean them up every 24 hours or something. I'll have to look into it.

On the topic of the platform. I started out making it for myself and some friends, with some success. Some time ago I did a Show HN where I didn't get any feedback at all, and since then I've been a bit hesitant to put in any more dev hours. So it's good to hear that you were intrigued

It looks interesting. However, there are a couple of issues here.

- The page is missing even a vague privacy policy. I get it that that might not be a priority when you're just working on the MVP but, IMHO, you should put at least a couple of words on what you're doing with users data.

- There's a single word on the page that says "Encryption" and that's it. This makes me more nervous, not less.

- No information on the company that's selling this.

- No screenshots.

Thank you for your feedback. Yes, I'll make sure to add a privacy policy soon. Basically the email address is just to send you an email in case you forget your password. Content is encrypted using https://github.com/ankane/lockbox default setup I've been considering adding optional end-to-end encryption as well, but am a bit afraid people might lose access to content forever if they lose access to keys. Thanks also on the remark about the company, looking at it I can see how it might be a bit ambiguous. I'll make sure to clarify it further on the about page. Basically it's a company called Unless which is my business entity as a freelancer. I am Lars Böhm, webdeveloper/designer from Amsterdam. If you have any further feedback it is always appreciated, and thank you again

Interesting, would you consider adding a bit more information and perhaps some screenshots on the home page? I don't want to sign up to find out.

Good point, I'll add some photos and a video later this week. There are a few screenshots on Producthunt here: https://www.producthunt.com/posts/simple-journal

I was very impressed by Felix Krause, who collected more than 380.000 data points over 3 years about his life in a single database and shared many of his learnings publicly: https://krausefx.com/blog/how-i-put-my-whole-life-into-a-sin...

Stressful year, Kevin. Hope it gets easier!

You can use Terra (tryterra.co) to access your garmin data !

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact