CGM, glycemic responses and diet decision-making

Hello everyone, here i want to share my experience with CGM glucose measurements, food testing and diet decision-making process based on glycemic responses. I’m skipping here on topic “why glucose spikes are bad” there a lot of scientific studies confirming this.

My methodology is:

  • apply CGM to measure glucose levels in high resolution with ability to export data and process it
  • make isolated product tests
  • produce single objective glucose response measure for each test
  • build a list of foods and sort them according to responses
  • exclude food which spikes even in small quantities, limit food which in a mid / high-mid range (and objectively calc limits) and do not limit food in lower mid / low.

My current setup is explained in details in my blog. In a short i’m using Freestyle Libre V1 sensor, android app Glimp to read data from sensor and export data in CSV.

After reading some papers about glycemic index (GI) i decided that iAUC - Area Under the Curve of glucose levels 120 minutes after meal is an objective measure which represents glycemic response and may be used in predicting how much food to eat to stay in range.
dst-02-0067-g001
Generally speaking, iAUC is an average time-weighted glucose level change during 2 hours after meal (PPGR - postprandial glucose response) and units are same as for glucose levels.

To make different food tests comparable they should be done at same amount of carbo, for example 50g of carbo, like in this paper.

First of all, i generate ideas on which food i want to test, then find how much carbo per 100g and make a portion containing 50g of carbo. I make tests in the morning, ~1 hour after waking up and rest for 2 hours after meal, then export CGM data into CSV and calculate iAUC with R script.

At the moment i did 30 tests and here is my results. This table is personal, different people will have different responses!

By knowing how much different products influence glucose levels i can decide how much to eat. I know that 50g of mango carbo’s (300g mango portion) increase my glucose (iAUC) by 2.58 mmol/L and by knowing that i can decide to eat half portion (150-200g) and be confident that my glucose will stay in range (generally i aim for <2-2.5mmol/L). We can see that 50g carbo from tomatoes is slightly above 2 mmol/L, but there is 5g of carbo per 100g of tomato. So eating even half kilo of tomatoes would not spike my glucose and it’s safe to eat them. Also i can see that it’s better to avoid grape and beetroot (but if there is a 1 single grape in salad, that’s fine).

Also we should take into account that

  • complex mixed meals may not be a sum of separated test responses
  • there is limited evidence that protein and fat may slow glucose uptake
  • protein may increase glucose a bit by itself, because some glucose can be made from glucogenic amino acids
  • circadian rhytms affect glucose uptake. In the morning we metabolise glucose better than before sleep
  • exercise and training affect glucemic responses
  • sleep quality and sickness affect glucemic responses
  • glycemic resonses may change over time
  • boiled carrot and fresh carrot are two different products and both needs to be tested
  • multiple tests for single product are prefered, to exclude random deviations
  • this approach is still rough, but better than relying just on GI from google
  • there are some data that microbiome may predict glycemic responses and we can pass on hardcore testing each product one by one

After all, how can i validate that this methooly is working for me? There is interesting paper about glucose disregulation and cluster people postprandial glucose responses as low, moderate and high variability.


They provide a webtool for classifying glucotypes, just need few days of cgm glucose measurements formatted into tab separated values.

When i wear cgm sensor first time i got moderate group. Lowest risks were in low group (significant part of high/moderate developed T2D in long term). After some food testing and adjustings to my diet i was able to optimize my glucose responses and last 3 periods of wearing cgm i’m in low variability range. That makes me confident that i’m going into right direction.

Dont forget that this is n=1 and i may have mistakes in methodology, aims and results.

R script and raw data are available in my blog.

P.S. i dont have diabetes, just want to make health beneficial long term decisions :slight_smile:

4 Likes

Cool!
Did you do a baseline of pure glucose to calibrate your response?
Are you considering looking at resistant starches? (split a baked potato, eat half for baseline, refrigerate other half and eat it the next day.)
Cooking duration and processing may also be a factor (rice, pasta, etc).
Any concerns about missing nutrients with eliminating many foods?
Curious how you plan to do meal analysis. I would consider a Design Of Experiments approach.
Any changes to your micro-biome with your dietary changes?
Any data that Low Glucotype improves longevity biomarkers (beyond avoiding diabetes).
Did your blood results improve with your revised diet (A1C, Fasting Glucose, CRP, HDL, etc)
Thank you for sharing your work!

Not fully understand the question. IAUC is being calculated relative to baseline glucose levels (pre-meal) as in scientific studies. Or do you mean glucose tolerance test?

I’ve tested boiled and then cooled potato before i had cgm, with fingerpricks. It didnt work and i got huge glucose spike. So i dont trust too much in that “resistance starch” theory for potatoes. Also i’ve heard that sweet potato shouldn’t spike glucose too much - but that wasnt case for me))

I wrote that at my blog, you can read extended edition of my post if you want.

I’m not going to eliminate many foods, the thing is to limit the ones with high glucose reponse. There are a lot of vegetables which not spike glucose and have a lot of nutrients. My diet is rich in fiber, i eat a lot of leafy greens, vegetables and milk products (kefir, cheese etc). Oats is fine for me to eat porridge. Fish, meat, eggs doesnt contain carbos (less than 1%).

In a future, for now i continue testing isolated foods because it’s easier task :slight_smile:

Agree

I didnt sequence my microbiome yet, but that should be done in a few weeks. Also i’m planning to sequence oral microbiome. For now i have x100 whole genome sequence and reading about most impactful snp’s.

Not sure, it’s a new concept and not too much data on that. As i know centenerians have low variation in glucose responses. Also if diabetes doesnt lowering lifespan, they are lowering healthspan so anyway i’m fine with lowered diabetes risk.

It’s hard to say, i’m doing few tests per year and it’s hard to find strong casual relationship between diet interventions and blood tests, especially in a healthy population.
A1C and FBG are rough measures and doesnt reveal glucose spikes, for me they just in optimal range. My CRP is pretty low <0.3. HDL is also in optimal range. I’ve tried different aging calculators (like aging.ai or levines) and always getting that i’m ~8 years younger than my actual age.

:+1:

Great work figuring out how to improve your diet!

Is this the approximate timeline?

  • Sensor 1: Original diet, data shows moderate variability glucotype
  • Sensors 2-6: Eat ½ kg carrots (and other experiments)
  • Sensors 7-9: Updated diet, data now shows low variability glucotype

Also, I’m assuming when you say “rice” or “tomato”, there is a specific type of rice or tomato you have in mind? The glycemic index of these can differ by 2x!

1 Like

I’ve started experimenting with fingerprick glucose measurements in March’21 and started 1st sensor in April. During that period i did some testing but didnt change my diet too much, it was like a baseline period. I’ve tested usual food i’m eating.
Glucotype classification wasnt the primary goal at that time and i did it later. Anyone who have cgm raw data can go to their website and check past periods.

Yeah, it took some time to build initial dataset of my responses. 1-2 tests per day and not every day, sometimes its boring and require discipline. So i’m doing 10-15 tests per sensor. Right now i have tested 36 products, part of products tested 2-3 times.

I got low variability at 3rd sensor. At that time i’ve realized that some products produce peaks and i’ve stopped eating them. I’ve started limiting fruits (and replaced some of them with pears, which not affecting my glucose at all), excluded some porridges. I keep doing that for one month without sensor, and then started 3rd and got low variability.

I’ve tested fresh general tomatoes. I’m planning to test more types in a future :slight_smile: For rice it was boiled white rice. Also i’ve tested brown rice but got same results. I’m planning to test more subcategories of products later, for now i’m focusing on different products to build a wide dataset.

For now i’m using responses to calc safe dose of product. 50g of mango carbos give +2.6mmol/L but there is 15g carbo per 100g mango. That mean i can eat 200g of mango and expect 2.6*(30/50) = 1.56mmol/L which i feel as safe. So i keep eating mango’s for diversity, but limiting amount. This is why i’m focused on building wide dataset which will allow me to predict glycemic responses for wide spectrum of different meals and use it this method on a daily basis for long term low glycemic diet strategy.

You might be interested in the cgmR Github Repo: open source R package to calculate iAUC and more from your FreeStyle Libre data. Install like this:

devtools::install_github("personalscience/cgmr")

See lots more at the site https:/diycgm.com

2 Likes

Thanks, didn’t know someone have already done that :slight_smile:. In my blog post i’ve attached R script for automatic iAUC calculation which i made by myself.
I’m using Glimp to gather data from libre sensor because it provides 1 minute resolution, which isnt available in libreview.

This is example of graph from script (white rice testing)


Bars is iAUC and points is glucose measurements.

In my usual routine everything is done automatically. I send food name and weight to my telegram bot and share csv file from glimp into nextcloud folder. Then server routine merge food and glucose data, calculate iAUC and generate online web table with list of food i’ve tested and glycemic responses.

looks pretty solid, thanks for sharing :+1:

2 Likes