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:<p>- sleep hours (including the sleep phase type: deep sleep etc)<p>- stress amounts (via heart rate variability)<p>- energy levels ("Body battery" in Garmin speak)<p>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.<p>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].<p>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.<p>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.<p>Here's the PR with the Jupyter notebook that generates the graph in the link based on Garmin Data [2].<p>[0] <a href="https://github.com/tcgoetz/GarminDB" rel="nofollow">https://github.com/tcgoetz/GarminDB</a><p>[1] <a href="https://imgur.com/a/Q7MJqMB" rel="nofollow">https://imgur.com/a/Q7MJqMB</a><p>[2] <a href="https://github.com/tcgoetz/GarminDB/pull/155" rel="nofollow">https://github.com/tcgoetz/GarminDB/pull/155</a>
<i>> 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.</i><p>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.<p>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.
You might want to look into my timeline thing [0]. At it's core, it's a database of Entries with different schemas.<p>- Input: There's an API you can add Entries with, and Sources that automatically pull them from somewhere.<p>- Output: There's an API you can query Entries from, and Destinations that automatically export them.<p>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.<p>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.<p>[0] <a href="https://github.com/nicbou/timeline" rel="nofollow">https://github.com/nicbou/timeline</a>
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).
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.<p>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?
I've been working on a platform that allows you to log and track daily events
<a href="https://www.simplejournal.online/" rel="nofollow">https://www.simplejournal.online/</a><p>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
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: <a href="https://krausefx.com/blog/how-i-put-my-whole-life-into-a-single-database" rel="nofollow">https://krausefx.com/blog/how-i-put-my-whole-life-into-a-sin...</a>