|
6 | 6 | <description>Recent content on My Personal Blog</description>
|
7 | 7 | <generator>Hugo -- gohugo.io</generator>
|
8 | 8 | <language>en-us</language>
|
9 |
| - <lastBuildDate>Fri, 29 Sep 2023 20:26:28 +0530</lastBuildDate><atom:link href="https://singhcoder.github.io/index.xml" rel="self" type="application/rss+xml" /> |
| 9 | + <lastBuildDate>Fri, 29 Sep 2023 20:48:38 +0530</lastBuildDate><atom:link href="https://singhcoder.github.io/index.xml" rel="self" type="application/rss+xml" /> |
| 10 | + <item> |
| 11 | + <title>Fitness Track</title> |
| 12 | + <link>https://singhcoder.github.io/posts/fitness-track/</link> |
| 13 | + <pubDate>Fri, 29 Sep 2023 20:48:38 +0530</pubDate> |
| 14 | + |
| 15 | + <guid>https://singhcoder.github.io/posts/fitness-track/</guid> |
| 16 | + <description><h1 id="fitness-tracking">Fitness Tracking <a href="#fitness-tracking" class="anchor">🔗</a></h1><p>The post will describe how I track my fitness journey so far.</p> |
| 17 | +<p>Slight background: I am on the journey to be the person who goes to gym daily, my goal is to reduce weight, and get lean. I go to <a href="https://www.cult.fit/">cult</a> for gym.</p> |
| 18 | +<h2 id="what-all-i-track-so-far">What all I track so far? <a href="#what-all-i-track-so-far" class="anchor">🔗</a></h2><ul> |
| 19 | +<li>Weight (morning and night)</li> |
| 20 | +<li>Number of weeks I had been regular in gym/number of classes attended.</li> |
| 21 | +<li>Occasional BMI and other metrics from <a href="https://www.inbody.in/">InBody machine</a> installed in the gym I go to.</li> |
| 22 | +</ul> |
| 23 | +<p>The actual exercises I do, and the number of reps/PRs etc are tracked in the Cult app itself, and for now I had not went into finding the API for that to extract that data into sheet.. Maybe sometime in near future :)</p> |
| 24 | +<h2 id="how-i-track-all-this">How I track all this? <a href="#how-i-track-all-this" class="anchor">🔗</a></h2><h3 id="weight">Weight <a href="#weight" class="anchor">🔗</a></h3><p>I have a simple google sheet which looks like this:</p> |
| 25 | +<p><img src="image.png" alt="weight"></p> |
| 26 | +<p>Column D and E are calculated as <code>Di = Ci - Bi</code>, <code>Ei = Bi+1 - Ci</code> tracking how much weight changed in that day, and the next day.</p> |
| 27 | +<p>Until sometime back, this was the interface I used for updating weight everyday: open sheet, add date if not there, add the weight entries. I have a better way which uses this sheet itself as database/backend, gonna come to it at the end.</p> |
| 28 | +<h3 id="number-of-weeks-i-had-been-regular-in-gymnumber-of-classes-attended">Number of weeks I had been regular in gym/number of classes attended. <a href="#number-of-weeks-i-had-been-regular-in-gymnumber-of-classes-attended" class="anchor">🔗</a></h3><p>This data is something I occasionally run a script (I should probably automate this) which calls CULT&rsquo;s API to get the data, and I put that manually into a google sheet then. |
| 29 | +Figuring out exact API was done by downloading raw cult apk, pass it through <a href="https://github.com/shroudedcode/apk-mitm">apk-mitm</a> and then use <a href="https://httptoolkit.com/">http-toolkit</a> to intercept the traffic while I visit corresponding page in the app to see the API that the app calls..</p> |
| 30 | +<p>The script looks something like in <a href="./cult_data_extract.py">this</a>.</p> |
| 31 | +<p>The sheet then looks like <img src="image-1.png" alt="Cult-Fit-Journey"> with self-explanatory column names.</p> |
| 32 | +<p>Again, this sheet also acts as a backend now, with frontend I will describe at the end on how do I visualize all this.</p> |
| 33 | +<h3 id="occasional-bmi-and-other-metrics-from-inbody-machine-installed-in-the-gym-i-go-to">Occasional BMI and other metrics from InBody machine installed in the gym I go to. <a href="#occasional-bmi-and-other-metrics-from-inbody-machine-installed-in-the-gym-i-go-to" class="anchor">🔗</a></h3><p>This is also backed by google sheet, and I have no automated way to get this data, I just manually enter it into the sheet.</p> |
| 34 | +<p>From the GYM, I get the data printed on a page, from which I manually enter to the frontend I am gonna describe next.</p> |
| 35 | +<p>The sheet by the way looks like:</p> |
| 36 | +<p><img src="image-2.png" alt="InBody"></p> |
| 37 | +<h2 id="frontend-for-all-this">Frontend for all this <a href="#frontend-for-all-this" class="anchor">🔗</a></h2><p>Entering all this data manually into the google sheet is a hard task, which lead me sometimes missing recording the data. So, I tried to follow the advice that <code>Atomic Habits</code> book&rsquo;s second rule of habit formation preaches: <code>Make it easy</code>.</p> |
| 38 | +<p>So, the simplest way I thought was having an app in which I can quickly crunch in numbers (Ik google sheet also is the same thing, but the interface is hard to enter on the phone), so I used <a href="https://www.appsheet.com/">appsheet</a> to quickly create a UI on top of the google sheets.</p> |
| 39 | +<p>My app looks something like this:</p> |
| 40 | +<h3 id="landing-screen">Landing screen <a href="#landing-screen" class="anchor">🔗</a></h3><p><img src="image-3.png" alt="landing screen"></p> |
| 41 | +<p>This shows the weight entries, and a <code>+</code> button to add in new entries, and clicking on anyone brings interface like this: <img src="image-4.png" alt="edit-mode">, where I can edit during night to record night weight.</p> |
| 42 | +<h3 id="inbody-results">InBody Results <a href="#inbody-results" class="anchor">🔗</a></h3><p>Exactly similar to Landing screen, but another tab at the bottom for this.</p> |
| 43 | +<h3 id="charts---weight-and-classes">Charts - Weight and Classes <a href="#charts---weight-and-classes" class="anchor">🔗</a></h3><p>The third tab has charts for how weight is progressing and for cult gym classes.</p> |
| 44 | +<p><img src="image-5.png" alt="weight chart"></p> |
| 45 | +<p><img src="image-6.png" alt="gym-classes"></p> |
| 46 | +<h3 id="inbody-charts">InBody charts <a href="#inbody-charts" class="anchor">🔗</a></h3><p>The last one has inbody charts for metrics: Body Fat Percentage, Total Fat (kg), Muscle Mass (kg), Visceral Fat Level, Waist Hip Ratio.</p> |
| 47 | +</description> |
| 48 | + </item> |
| 49 | + |
10 | 50 | <item>
|
11 | 51 | <title>My First Post</title>
|
12 | 52 | <link>https://singhcoder.github.io/posts/my-first-post/</link>
|
|
0 commit comments