GLP-1 Level Manager

It isn't the dose on the pen that drives your results and your side effects — it's the level of medication actually in you. These drugs have a ~5–7 day half-life, so every injection stacks on what hasn't cleared yet. Set your personal level goal, model where you really are, and find the window where appetite control is good and side effects aren't.

⚡ Useful from your very first logLog one dose and your current level, next trough and dose-due countdown appear instantly.
📅 No full history neededBack-date just your last 3–4 doses (day-level accuracy is fine) and your level is ~95–98% accurate from day one.
🔍 Weeks 3–4: your windowKeep logging doses plus a few "How I feel" check-ins and your personal comfort window emerges.
Read this first. This is an educational modelling and journalling tool — not medical advice, and not a substitute for your prescriber. Every number here is a pharmacokinetic estimate from published population averages and the doses you type in — not a blood measurement. "Standard dose" markers show the in-system level licensed regimens settle at; they are context, not a recommendation for you. Never change how you take a prescription medicine based on this app; bring it to the person who prescribes for you and decide together.

👤 Your profile

Saved on this device only. Nothing is uploaded — there is no server and no account.

🎯 Your goal level (mg in system)

The amount of medication you're aiming to hold in your body — your personal number, chosen with your prescriber. Tap a preset to see the level each standard regimen settles at, or set anything in between. Everything below — dashboard, chart, planner — measures against this.

10 mg

Presets show the steady-state peak (mg in-system) each standard dose reaches — context from the label, not a recommendation for you.

Your level right now

Estimated milligrams of medication still active in your body, modelled from your logged doses and your medication's half-life. The ring fills toward the level the highest standard regimen settles at; the green tick is your goal.

0mg in system
to your goal
last peak
next trough
next dose due
heading to
0doses logged

Level over time

Toggle the layers you want. Dots are your symptom entries, plotted at the level you were at (green good · amber mild · red rough).

Week ahead vs your goal

Projected level each day if you keep your current dose and interval. Green = near goal · amber = below (appetite may return) · red = above.

⚡ Quick log

One tap for your routine dose — you can undo for a few seconds after.

💉 Precise entry

For click-counted partial doses, back-dating, or notes. The model is only as good as the honesty of this log. Joining mid-therapy? Back-date your last 3–4 doses here — approximate dates are fine, and that alone makes your level ~95% accurate. Anything older has mostly cleared and isn't worth reconstructing.

Dose history

    🩺 How are you feeling?

    Log this a few times a week — especially on good days and bad days. This is what turns the chart into your therapeutic window instead of a generic curve.

    Saves: feeling good, appetite 7/10, energy 7/10, no side effects, right now.

    Or log in detail

    0 = constantly hungry · 10 = no interest in food

    0 = wiped out · 10 = great

    Seek medical help urgently for severe or persistent abdominal pain (especially radiating to your back), relentless vomiting, signs of dehydration, or symptoms of low blood sugar if you also take insulin or a sulfonylurea. Do not use this app to "wait it out".

    Symptom & wellbeing log

      🎛️ Two independent levers: goal × interval

      Your goal (set at the top of the page) is the first lever — it sets your peak. The interval is the second — it sets your trough. Shortening the interval lifts your trough without raising your peak, the lever clinicians reach for when "hunger comes back late in the week". Standard dosing for the weekly medications is every 7 days; other intervals here are for exploring the model and for regimens your prescriber has actually set.

      · change it at the top of the page
      peak at steady state
      trough
      peak-to-trough swing
      maintenance dose

      💊 What dose would get me to my goal now?

      Calculated from your current modelled level, so it accounts for what's still in you. This is the "optional dose" idea — a late dose, an early dose, or a deliberate small correction — rather than blindly repeating last week's number.

      🖊️ Mounjaro KwikPen — click conversion

      Every Mounjaro KwikPen delivers its full dose in 60 clicks, so one click = pen strength ÷ 60. Pick the pen you actually have and this converts the dose above into clicks.

      Pen1 click2.5 mg5 mg7.5 mg10 mg12.5 mgFull dial

      Full dial = 60 clicks on every strength. Verified against the click-count reference for all six KwikPen strengths.

      Important. Splitting a pen by counting clicks is an off-label technique — Eli Lilly designs the KwikPen to deliver its full dose, and the only licensed tirzepatide doses are 2.5, 5, 7.5, 10, 12.5 and 15 mg. People do this, often with their prescriber's knowledge, but it is your prescriber's call — not this app's. Never share pens or needles, and check your own click count carefully before injecting.

      🔍 Your therapeutic window

      Built purely from your own logs: at what modelled level did you feel good and eat well, and at what level did side effects start? The more you log, the sharper this gets.

      Level vs. how you felt

      Each entry you've logged, grouped by the level you were at.

      Level bandEntriesAppetiteEnergySide effectsRead

      💾 Your data

      Everything lives in this browser's local storage. Clearing site data wipes it — export a backup, especially before changing device or browser.

      How the model works

      The pharmacology in one minute

      GLP-1 medicines clear slowly — tirzepatide's half-life is about 5 days, semaglutide's about 7. A week after a 1 mg dose, roughly half of it is still in you. The next dose lands on top of that remainder, so your level keeps climbing for about 4–5 doses even if the number on the pen never changes.

      That single fact explains a lot of lived experience: the same dose feeling stronger after a month, side effects arriving weeks into a "stable" dose, hunger returning late in the week, and one late dose throwing everything off.

      The maths this app uses

      Standard one-compartment model with first-order elimination. Your level is the sum of every dose decaying independently:

      level(t) = Σ dosei × e−λ(t−ti),   λ = ln2 ÷ half-life

      Steady-state peak for a repeating dose D every τ days is D ÷ (1 − e−λτ). Everything is displayed as estimated mg still in your system. The "standard doses" chart lines and goal presets are the steady-state values each licensed dose settles at — e.g. 15 mg weekly tirzepatide settles at ≈24 mg in-system at peak, 5 mg weekly at ≈8 mg. (For the orally-dosed option, the displayed mg is swallowed-dose equivalent before absorption — treat it as a relative index, since only a small fraction is absorbed.)

      Sanity check: a standard 2.5 mg → 5 mg tirzepatide step doubles your steady-state level (≈4 mg → ≈8 mg in-system) — which is why a single "small" ladder step can feel like a cliff, and why some clinicians work with intermediate exposure levels. If that interests you, it's a conversation to have with your prescriber.

      Do I need my complete dose history? (No.)

      Recent doses are almost all that matters. Each dose is ~97% cleared after five half-lives, so anything older than about 3½ weeks (tirzepatide) or 5 weeks (semaglutide) has essentially left your system — there is no value in reconstructing months of old records.

      How much of your true level you capture by logging only your most recent doses (weekly dosing):

      • Tirzepatide: 1 dose → ~62% · 2 doses → ~86% · 3 doses → ~95% · 4 doses → ~98%
      • Semaglutide (longer half-life): 2 doses → ~75% · 3 → ~88% · 4 → ~94% · 5 → ~97%

      No records at all? Just start with your next dose. Early readings will understate your true level (never overstate it), and the gap closes by itself as old unlogged doses clear — the model is fully tuned after ~3–4 weeks of normal logging. While that's happening, a "tuning" tag on the dashboard shows the exact date full accuracy arrives. If your first logged dose really was your first-ever dose, your level is already exact and you can ignore the tag.

      How precise do the dates need to be? Day-level is fine. A 12-hour error moves a single dose's contribution by ~7% and your total level by much less — the exact hour barely matters.

      When does each benefit start? Your current level, next trough and dose-due countdown: from the first logged dose. Peak-to-trough swing: after 2. Near-full accuracy: last 3–4 doses logged. Your personal therapeutic window: at least 4 "How I feel" check-ins, ideally spread across different levels.

      What this app can't know
      • Your actual blood concentration — this is a model, not a measurement.
      • Your individual metabolism, body composition, injection site or absorption variability.
      • Anything you don't log. Missed entries silently distort the curve.
      • Whether a symptom is from the medication or from something else entirely.

      It is genuinely useful for seeing relative change and spotting patterns. It is not a substitute for clinical judgement.

      Where this comes from

      The "manage the level, not the dose" framing and the peak/trough-as-two-levers idea come from a clinical whitepaper on pharmacokinetic GLP-1 dosing by Dr Ian J. Ellis (the MyLevel framework; that paper uses a normalised 0–50 scale — this app shows estimated mg instead). The underlying pharmacology — long half-life, accumulation to steady state, exposure-driven response — is well established and uncontroversial. The specific clinical outcome claims in that paper are single-practice observational data and should be treated as promising but unproven.

      The KwikPen click figures come from a click-count reference covering all six Mounjaro pen strengths; all of them reduce to the same rule of 60 clicks per full dial, which is what this app implements.