PODCAST JUICEBOX
Listen on Apple Podcasts
Juicebox Podcast
Press Esc to close  ·  Cmd K to toggle juiceboxpodcast.com
Fat & Protein Simulator — The Warsaw Method | Juicebox Podcast
Interactive Tool · The Warsaw Method

Fat & Protein Simulator

You go to bed at a good number after pizza and wake up at 300. That's not random diabetes — that's fat and protein, raising glucose slowly, hours after the carbs are done. The Warsaw Method models a meal with two waves of insulin: one now for the carbs, one stretched out for the fat and protein. Drag the sliders and watch the tug-of-war between food pushing glucose up and insulin pulling it down.

2 wavesfast + slow
10gcarbs per FPU
3–8hsecond wave
Try a meal:
Break it on purpose:
The settings how strong insulin is in this example
1 unit covers this many grams of carbs
1 unit drops glucose this many mg/dL
How much of the slow wave you cover (Warsaw default: 50%)
How much of the FPU carbs actually show up in this example — nobody knows this number for a real person ahead of time, which is exactly why the method starts at 50%
How long a dose keeps working (its "decay")
The scenario
The meal what's on the plate
How fast the carbs hit
White bread and juice are fast; pasta and whole grains are slow. Fat slows everything down further.
Timing when things happen
Minutes between the dose and the first bite
Wave 2 delivered by
The example is starting below 60 mg/dL (3.3 mmol/L). In real life that low gets treated before anyone eats. The curves below still draw so you can see what the model does — but this is the one scenario where the answer is food, not arithmetic.
The example is starting at 60–70 mg/dL (3.3–3.9 mmol/L). That's low territory — shown for learning, but a real decision here belongs to a person and their care team.
Fat-protein units
–
Wave 1 · now
–
carbs + correction
Wave 2 · stretched
–
Model total
–
Model pre-bolus
–
what the timing formula computes

Every number on this page is a model illustration — not a dose, and not medical advice.

The tug-of-war

how hard food pushes up vs. insulin pulls down, minute by minute
click to hide a layer

What glucose does

What the model is thinking

The Warsaw Method in plain words

1 · Fat and protein are sneaky carbs

Carbs hit fast — glucose starts climbing in about 15–20 minutes. But fat and protein turn into glucose too, through a slow digestion detour. A cheesy, greasy meal can keep pushing glucose up for 3 to 8 hours.

Doctors in Warsaw, Poland built a way to count that slow push: the fat-protein unit, or FPU. You add up the calories from fat (9 per gram) and protein (4 per gram), and every 100 calories = 1 FPU.

2 · One FPU acts like 10g of slow carbs

Each FPU behaves like about 10 grams of carbs — except those "carbs" trickle in over hours instead of minutes. Under 1 FPU? The method ignores it; that little fat and protein barely moves the needle.

More FPUs = a longer trickle. The lookup table stretches the second insulin wave from 3 hours (1 FPU) up to 8 hours (6+ FPUs), so insulin arrives on the same slow schedule as the food.

3 · Two waves, matched to two speeds

Wave 1 goes in now: carbs ÷ the carb ratio, plus a correction if glucose is high. Wave 2 is the Warsaw wave: the FPU carbs delivered as a slow drip — a pump's extended bolus, or split injections.

Why start at 50%? Because nobody knows their real number in advance — some bodies turn most of those FPU carbs into glucose, some much less. On this page that mystery is the "body's response" slider. When coverage and response match, the line stays flat; when they don't, you get the late climb (or the late dip). Timing matters too: insulin needs a head start because food is faster out of the gate — slide the pre-bolus to 0 and watch the spike.

Words on this page

ICR (carb ratio)
How many grams of carbs one unit of insulin covers. 1:10 means 1 unit per 10g.
ISF (correction factor)
How far one unit of insulin drops your glucose.
FPU (fat-protein unit)
100 calories of fat + protein. Each one acts like about 10g of very slow carbs.
Pre-bolus
Dosing before you eat, so insulin gets a head start on the food.
Dual wave / extended bolus
A pump feature: part of the dose now, the rest dripped in over hours. Pens approximate it with split shots.
IOB (insulin on board)
Insulin from earlier doses still working in your body. This simulator starts each meal from zero IOB.

Keep learning

These Diabetes Pro Tip episodes cover the ideas on this page — fat and protein, bolus shape, and the long tail of a high-fat meal.

Fat and Protein

Pro Tip 1012

Why blood sugar spikes 4–8 hours after a high-fat meal, bolusing for protein, and the Warsaw Method concept.

The Perfect Bolus

Pro Tip 1008

Splitting boluses, extended strategies, and staying fluid when a meal doesn't behave the way the math said it would.

Temp Basal

Pro Tip 1004

Another way pump users cover the long tail of fat — temp basal increases for pizza, Chinese food, and hormones.

Glycemic Index and Load

Pro Tip 1020

The next level past carb counting — how the same grams can hit at very different speeds.

Technical appendix

What this page actually computes

This is a complete description of the model behind this simulator. It is a deterministic teaching simulation: every curve is computed from the slider values by the equations below, in your browser, with no accounts and nothing sent anywhere; the only things it keeps are your light-or-dark theme choice (saved in your own browser) and the slider state in the page’s own URL. It is not a bolus calculator, not a medical device, and not clinically validated — it exists to make the logic of the Warsaw Method visible.

1 · Dose logic (the Warsaw Method)

The method implemented here is the fat–protein unit (FPU) dual-wave algorithm developed by Prof. Ewa Pańkowska and colleagues in Warsaw, Poland. The dose math is:

Wave 1 (now) = Carbs ÷ ICR + max(0, (BG − Target) ÷ ISF) FPU = (Fat × 9 kcal/g + Protein × 4 kcal/g) ÷ 100 if FPU < 1.0 → no second wave Carb equivalent = FPU × 10 g Wave 2 (extended) = (Carb equivalent × Adjustment% ) ÷ ICR

The correction is clamped at zero (a below-target glucose never reduces the carb dose here), and this tool takes no insulin-on-board input — it models a single meal starting from zero active insulin. The second wave's length comes from the standard FPU lookup table, or from the manual override slider (the override changes only how the insulin is delivered; the food still arrives on the table's schedule):

FPU1.0–1.92.0–2.93.0–3.94.0–4.95.0–5.96.0+
Wave 2 length3 h4 h5 h6 h7 h8 h

The suggested pre-bolus is a smoothed ramp on current glucose: 0 min below 80 mg/dL, 8 + ((BG − 80) ÷ 120) × 12 min from 80–200, capped at 20 min above 200. (Glucose trend arrows are not modeled.)

2 · Insulin activity curve

Insulin action uses the two-parameter exponential activity model popularized by the open-source automated-insulin-delivery community (oref0/OpenAPS and Loop), with duration td set by the "insulin duration" slider (3–6 h) and peak time tp = min(75 min, 0.4 × td):

τ = tp · (1 − tp/td) ÷ (1 − 2·tp/td) a = 2τ/td S = 1 ÷ (1 − a + (1 + a)·e^(−td/τ)) activity(t) = (S/τ²) · t · (1 − t/td) · e^(−t/τ) for 0 ≤ t ≤ td

activity(t) integrates to 1 over the duration, so each unit is fully "spent." The glucose-lowering rate of a dose is units × activity(t) × ISF in mg/dL per minute. Wave 1 is a single dose at t = 0. Wave 2 has two delivery modes: pump drip models a steady infusion (dose ÷ length, in 2-minute steps) with each micro-dose following the same activity curve — numerically, a convolution — mirroring a pump's extended/square-wave bolus. Pen shots models the same total as discrete injections using one common approximation: waves of 4 hours or less become a single injection of the full wave-2 amount 90 minutes after eating; longer waves split in half, at 60 minutes and at the wave's halfway point. This split rule is a teaching heuristic, not a published protocol — real pen strategies vary and pens dose in whole or half units.

3 · Food absorption curves

Carbs begin absorbing at the first bite (t = pre-bolus) with a gamma-shaped curve, c(t) ∝ t · e^(−t/τ), normalized to deliver 100% of the grams. The glycemic-index control sets τ: fast = 28 min, medium = 40 min, slow = 58 min — so "fast" peaks sooner and higher and clears earlier, while "slow" spreads the same grams into a longer, flatter rise. The three settings are illustrative bands, not a lookup of any published GI table, and they change the shape only — never the total grams absorbed.

Fat and protein deliver their carb equivalent (FPU × 10 g) as a raised-cosine hump starting 60 minutes after the first bite and spread over the FPU table's duration, scaled by the "body's response" slider (0–100%, default 50%). That slider is the model's stand-in for individual variation in gluconeogenesis and delayed gastric emptying — it is a hypothesis knob, not a measured quantity. Each absorbed gram (fast or slow) raises glucose by ISF ÷ ICR mg/dL, the standard carb-sensitivity identity.

4 · The glucose trace

BG(t + Δt) = BG(t) + [ carb_rate(t) + fpu_rate(t) − wave1_rate(t) − wave2_rate(t) ] · Δt

Forward-Euler integration on a 2-minute grid over a 10-hour window, seeded from the "example glucose" slider. No basal insulin, liver glucose output, dawn effect, exercise, stress, or counter-regulation is modeled — the trace shows only this meal against these doses, which is exactly what makes the two-wave logic legible.

The variability cone is the shaded band around the line. It widens with how much food has landed and how far into the meal you are — ± min(40, 0.15 × grams-of-glucose-delivered-so-far × √(elapsed fraction)) mg/dL. It is a deliberately simple way to draw "a prediction this far out is a guess," not a confidence interval, a standard deviation, or anything derived from real CGM data. Read it as "roughly this wide," never as a number.

The four live stats above the chart read straight off the simulated curve over the full ten hours: peak is its highest point, lowest after eating is its minimum from the first bite onward, and in range is the share of the ten-hour window spent between 70 and 180 mg/dL. They describe the model's curve, not a person's day.

The dashed "carbs-only ghost" is the identical simulation with wave 2 removed: same food, same wave 1 (carbs + correction), zero extended insulin. It answers "what would a standard single bolus have done to this exact meal?" and appears only when the meal earns a second wave.

5 · Guardrails in the simulation

  • A starting glucose below 60 mg/dL shows a treat-the-low-first message, and 60–70 shows a caution. Both describe the value on the slider, not the simulated curve — the curves are always drawn either way.
  • A model total above 25 units shows a sanity warning. Nothing is capped and nothing halts; the warning is advisory.
  • The integrated curve is bounded to 20–600 mg/dL, so an extreme slider combination can never display a physiologically impossible number. If a curve flattens against either bound, the settings — not the body — are what ran out of room.
  • Negative inputs and negative dose components are clamped to zero.

6 · Interface behaviors

  • Units: all internal math runs in mg/dL. The mmol/L toggle converts displayed values by dividing by 18 (and the in-range band becomes 3.9–10.0 mmol/L); it changes nothing in the computation.
  • Scenario buttons only set the sliders to preconfigured values and show a caption — they use no extra logic, so every scenario can be reproduced or undone by hand. The five failure scenarios mirror the four post-meal CGM patterns (bolus too late, bolus too early, dose too small, dose too large) plus the Warsaw-specific one, so what you see here maps onto a real trace. Because carb sensitivity in this model is ISF ÷ ICR, the carb ratio is a physiology setting rather than a dose-size knob — so the under- and over-dosing scenarios are built from the coverage-versus-response mismatch on the slow wave.
  • Clicking a legend key hides that layer on the tug-of-war chart and rescales the axis to whatever remains; the last visible layer can't be switched off.
  • Share links: the full slider state — including glycemic index and the chart toggles — is encoded in the URL fragment (the part after #) and updated as you drag. The fragment is read once on load; nothing is transmitted or stored anywhere — the "copy a link" button just copies the current URL.

7 · Known simplifications

Real absorption varies meal to meal and person to person (gastric emptying, activity, alcohol, illness, hormones, stress); insulin sensitivity drifts across the day; fat can also cause temporary insulin resistance beyond what a carb-equivalent captures; and combination meals interact in ways no fixed curve reproduces. Basal insulin, insulin on board from earlier doses, exercise, illness and hormones are all absent from this model. Treat every number on this page as an illustration of relationships — what gets bigger, what gets longer, what moves earlier — never as a dose.

8 · Sources

FPU concept, 100-kcal unit, ×10 g carb equivalence, duration table, and the 50% starting factor: the pump-therapy research of Pańkowska et al. (Warsaw, Poland). Exponential insulin activity model: the open-source AID community (oref0/OpenAPS, Loop). Implementation, plain-language framing, and food-curve shapes: the Juicebox Podcast — simplifications are ours, not theirs. Hear the thinking behind this tool in Diabetes Pro Tip 1012: Fat and Protein and 1008: The Perfect Bolus.

Simulation only — not medical advice. This is a teaching model with simplified curves; real bodies vary meal to meal. Verify all dosing decisions with your healthcare team.
The content on this site is for educational purposes only and is not medical advice.
Read the full disclaimer
© 2007–2026 Juicebox Podcast. All rights reserved.
Skip to Content
JUICEBOXPODCAST.com
Whole Mind
News Aggregator
Ad Calendar
Survey Results
Partners
HOME
EPISODES
BLOG
A1C and Blood Glucose Calculator
Juicebox Docs - Best Endocrinologists
Private Facebook Group
American Sign Language
Diagnosis Story
Autoimmune Explorer
Struggles To Solutions
Clinician Share Hub
FDA Tracker
Scott
Share
Carb Lookup
Interactive DD
Jukebox
Survey
504 Builder
Welcome
Pre Bolusing: The Juicebox Way
Fat and Protein Insulin Calculator
Improving Type 1 Diabetes Care: A Guide for Physicians
Juicebox for Docs: Grand Rounds Takeaways
Caregiver Burnout
GLP with Type 1 Diabetes
Thyroid
Understanding TSA
My Belly Hurts
Post-Meal Patterns
Habit Lab
MEAL BOLT: A Tutorial for Insulin Dosing
Advice for T1 Parents
Bold Beginnings
Defining Thyroid
Defining Diabetes
Diabetes Pro Tip
Small Sips
Bolus 4
Fat and Protein
Algorithm Pumping
Mental Wellness
Ask Scott & Jenny
Diabetes Variables
After Dark
The Math Behind
Juicebox FAQ
Omnipod 5
GLP Meds
Pregnancy
How We Eat
Grand Rounds
Cold Wind
Podcast Quickstart
Diabetes Myths
Type 2 Diabetes
The Lists
Library
Pro Tips - Transcripts
Bold Beginnings - Transcripts
Small Sips - Transcripts
Grand Rounds - Transcripts
Algorithm Collection
Ask
Defining Thyroid
Diabetes Variables Transcripts
Mental Wellness Transcripts
Hub
Day 1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day 14
Day 15
Day 16
Day 17
Day 18
Day 19
Day 20
Day 21
Day 22
Pro Tip Lab
Reviews
Events
Basal Insulin Estimator
Sponsors
Know The Signs
Media Kit
Merch
0
0
JUICEBOXPODCAST.com
Whole Mind
News Aggregator
Ad Calendar
Survey Results
Partners
HOME
EPISODES
BLOG
A1C and Blood Glucose Calculator
Juicebox Docs - Best Endocrinologists
Private Facebook Group
American Sign Language
Diagnosis Story
Autoimmune Explorer
Struggles To Solutions
Clinician Share Hub
FDA Tracker
Scott
Share
Carb Lookup
Interactive DD
Jukebox
Survey
504 Builder
Welcome
Pre Bolusing: The Juicebox Way
Fat and Protein Insulin Calculator
Improving Type 1 Diabetes Care: A Guide for Physicians
Juicebox for Docs: Grand Rounds Takeaways
Caregiver Burnout
GLP with Type 1 Diabetes
Thyroid
Understanding TSA
My Belly Hurts
Post-Meal Patterns
Habit Lab
MEAL BOLT: A Tutorial for Insulin Dosing
Advice for T1 Parents
Bold Beginnings
Defining Thyroid
Defining Diabetes
Diabetes Pro Tip
Small Sips
Bolus 4
Fat and Protein
Algorithm Pumping
Mental Wellness
Ask Scott & Jenny
Diabetes Variables
After Dark
The Math Behind
Juicebox FAQ
Omnipod 5
GLP Meds
Pregnancy
How We Eat
Grand Rounds
Cold Wind
Podcast Quickstart
Diabetes Myths
Type 2 Diabetes
The Lists
Library
Pro Tips - Transcripts
Bold Beginnings - Transcripts
Small Sips - Transcripts
Grand Rounds - Transcripts
Algorithm Collection
Ask
Defining Thyroid
Diabetes Variables Transcripts
Mental Wellness Transcripts
Hub
Day 1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day 14
Day 15
Day 16
Day 17
Day 18
Day 19
Day 20
Day 21
Day 22
Pro Tip Lab
Reviews
Events
Basal Insulin Estimator
Sponsors
Know The Signs
Media Kit
Merch
0
0
Folder: Backend
Back
Whole Mind
News Aggregator
Ad Calendar
Survey Results
Partners
HOME
EPISODES
BLOG
Folder: SUPPORT
Back
A1C and Blood Glucose Calculator
Juicebox Docs - Best Endocrinologists
Private Facebook Group
American Sign Language
Diagnosis Story
Autoimmune Explorer
Struggles To Solutions
Clinician Share Hub
FDA Tracker
Scott
Share
Carb Lookup
Interactive DD
Jukebox
Survey
504 Builder
Welcome
Folder: GUIDES
Back
Pre Bolusing: The Juicebox Way
Fat and Protein Insulin Calculator
Improving Type 1 Diabetes Care: A Guide for Physicians
Juicebox for Docs: Grand Rounds Takeaways
Caregiver Burnout
GLP with Type 1 Diabetes
Thyroid
Understanding TSA
My Belly Hurts
Post-Meal Patterns
Habit Lab
MEAL BOLT: A Tutorial for Insulin Dosing
Advice for T1 Parents
Folder: SERIES
Back
Bold Beginnings
Defining Thyroid
Defining Diabetes
Diabetes Pro Tip
Small Sips
Bolus 4
Fat and Protein
Algorithm Pumping
Mental Wellness
Ask Scott & Jenny
Diabetes Variables
After Dark
The Math Behind
Juicebox FAQ
Omnipod 5
GLP Meds
Pregnancy
How We Eat
Grand Rounds
Cold Wind
Podcast Quickstart
Diabetes Myths
Type 2 Diabetes
The Lists
Folder: Transcript Library
Back
Library
Pro Tips - Transcripts
Bold Beginnings - Transcripts
Small Sips - Transcripts
Grand Rounds - Transcripts
Algorithm Collection
Ask
Defining Thyroid
Diabetes Variables Transcripts
Mental Wellness Transcripts
Folder: Practice - Pro Tip
Back
Hub
Day 1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day 14
Day 15
Day 16
Day 17
Day 18
Day 19
Day 20
Day 21
Day 22
Pro Tip Lab
Reviews
Events
Basal Insulin Estimator
Sponsors
Know The Signs
Media Kit
Merch