How OptiPin forecasts your levels
A transparent walk-through of the pharmacokinetic model behind every level curve in the app — the compound database, the math in plain language, and the part most calculators skip: calibrating the forecast to your own bloodwork instead of leaving it on a population average.
- • OptiPin reads your logged doses, applies each compound's published half-life and absorption parameters, and sums the result into a single concentration curve.
- • The math is a one-compartment pharmacokinetic model (the Bateman function) applied per dose and superposed — no black box.
- • Enter a real lab result and the curve is calibrated to your physiology (your baseline + a dose-response factor), instead of staying on a population average.
- • It's an estimate, not a measurement. Bloodwork is always the source of truth, and none of this is medical advice.
The short version
Every time you log an injection, OptiPin knows the compound, the dose, and the date. It looks up that compound's pharmacokinetic parameters — chiefly its half-life and time-to-peak — and computes a rise-then-fall curve for that single dose. It does this for every dose in your history and adds the curves together. The sum is your forecast: where your level has been, where it is now, and where it's heading. If you've logged a blood test, OptiPin then nudges the curve up or down so it passes through your real, measured value — that's the calibration step, and it's what separates a forecast tuned to you from a generic average.
The model
Under the hood, OptiPin uses a one-compartment pharmacokinetic model with first-order absorption and first-order elimination. In plain terms: a dose is absorbed from the injection depot at one rate and cleared from the bloodstream at another, and the level you see is the running balance between the two. Mathematically that's the Bateman function, the standard textbook model for a drug entering and leaving a single body compartment.
The compound database
The app ships with a flat catalog of roughly 70 compound profiles. Each profile carries the parameters the model needs:
- Half-life (in days) — how fast the compound clears. This sets the elimination rate,
ke = ln(2) / half-life. - Time-to-peak (Tmax) — how long after a dose the level peaks. The absorption rate is back-solved from this.
- Bioavailability — the fraction of an injected/ingested dose that actually reaches circulation.
- Active-compound ratio — for esters, the share of the molecule's weight that is the active hormone (the ester chain is dead weight).
- Evidence quality — every entry is flagged strong / moderate / limited / low / estimated so weakly-evidenced compounds are labeled as such, not dressed up as authoritative.
Testosterone esters, estradiol esters, and DHT each get a dedicated, individually calibrated calculator that outputs real clinical units (ng/dL, pg/mL) against reference ranges. Everything else — SARMs, aromatase inhibitors, GLP-1s, growth and healing peptides, oral and injectable anabolics, pharmaceuticals like tadalafil — runs through the unified Levels & Protocol Planner, where the output is amount-on-board in the compound's native unit (mg, mcg, IU). For those compounds there's no clean assay-to-blood-level conversion, so the app honestly plots "how much is still active," not a fabricated blood concentration.
The math, plainly
For a single dose, the level over time follows:
level(t) = (active dose × F × ka / (ka − ke)) × (e^(−ke·t) − e^(−ka·t))
where F is bioavailability, ka is the absorption rate, and ke is the elimination rate. The curve climbs to a peak at Tmax, then decays exponentially. Long-acting testosterone esters use a saturation-then-decay variant that's been calibrated so the steady-state peaks match published and community-reference curves for each ester; the generic Bateman form covers peptides, SARMs, and the rest.
The key step is superposition: because the model is linear, the contribution of each dose is computed independently and the curves are simply added together. Your level today is the sum of what's left of last week's shot, the week before's, and so on. That's why a steady weekly protocol settles into a stable peak-and-trough band rather than climbing forever.
Worked example: 100 mg testosterone cypionate weekly
Take one 100 mg cypionate injection. Cypionate's active testosterone fraction is about 70% (the rest is the ester), and with a multi-day half-life the curve climbs over the first few days to a peak, then tapers across the week. A single 100 mg dose, on its own, doesn't return you to baseline before the next shot is due — so when you inject again, the new curve stacks on the tail of the old one. After four to six weeks of weekly dosing the curves superpose into a repeating steady-state band; for a typical responder, 100 mg/week lands that band in roughly the 800–900 ng/dL peak range. That number is the population-average output — your real peak depends on how fast you clear it, which is exactly what bloodwork calibration fixes.
Estradiol and DHT
The estradiol calculator is a little richer because, on TRT, most of a man's circulating estradiol comes from testosterone aromatizing into E2. So OptiPin estimates E2 as the sum of three parts: (1) an aromatization component scaled from your modeled testosterone level by an aromatization factor, (2) any directly-injected estradiol ester, and (3) an endogenous baseline. If you log an aromatase inhibitor (anastrozole, exemestane), the model suppresses the aromatization component accordingly. The aromatization factor itself is one of the things bloodwork calibration tunes. DHT is modeled from directly-administered DHT esters or gel via a volume-of-distribution conversion — it is not auto-derived from your testosterone (the app doesn't currently model 5-alpha-reductase conversion of your T into DHT).
Bloodwork calibration — the part that matters
This is the genuine differentiator, and it's worth being precise about. An uncalibrated forecast uses population-average pharmacokinetics. The curve shape is trustworthy — half-lives and absorption don't vary wildly — but the absolute level can be well off, because clearance, SHBG, body composition, and aromatization differ enormously between people. Two men on identical 100 mg/week can sit hundreds of ng/dL apart.
OptiPin closes that gap by fitting your forecast to your actual lab results. When you enter a testosterone panel, the model computes what your dose history should have produced at the draw date (pulling ~45 days of prior doses so the contribution is accurate), compares it to your measured value, and solves for two personal parameters:
- Dose-response factor — a multiplier capturing your individual metabolism, constrained to 0.5×–1.5× of the expected response. Below 1.0 means you clear faster / convert less than average; above 1.0 means the opposite. The clamp is deliberate: it stops a single noisy lab from producing a wild fit.
- Endogenous baseline — your own natural production (ng/dL), constrained to be non-negative, which accounts for the level that isn't coming from your injections.
The relationship the app solves is simply measured = baseline + (expected contribution × dose-response factor). With one lab point it does a direct fit; with several panels it runs a multi-point grid search that finds the baseline and response factor minimizing the error across all your measured points at once. The result is a curve that passes through your reality — a forecast anchored to your physiology rather than a textbook average. If you've never opened the calculator or entered a lab, it stays on the neutral defaults (baseline 0, response factor 1.0) and is honest about being a pure exogenous estimate.
Note that calibration applies to the hormone calculators (testosterone, estradiol). The amount-on-board curves for peptides, SARMs, and GLP-1s are not calibrated to bloodwork — there's no routine assay to anchor them to — so treat those as schedule-comparison tools, not blood levels.
What it's not
- It's an estimate, not a measurement. A pharmacokinetic model predicts; a blood draw measures. When they disagree, the blood draw wins — and you should re-calibrate to it.
- It's not medical advice or a prescription. OptiPin doesn't diagnose, recommend doses, or replace a clinician. It's an educational tracking tool.
- Uncalibrated curves are population averages. Individual metabolism, SHBG, body composition, injection-site absorption differences, and assay-to-assay lab variation are not captured until you calibrate — and even then, only within the model's limits.
- It doesn't model everything. Drug–drug interactions beyond the built-in AI-suppression of aromatization, day-to-day physiological noise, illness, and lab measurement error all sit outside the model.
- Bloodwork remains the source of truth. The forecast is there to help you understand timing and trends between blood draws — not to substitute for them.
Where the numbers come from
The compound parameters are grounded in published pharmacokinetic literature, and the testosterone-ester curves are cross-checked against established reference curves so a given dose lands where the evidence says it should. Key sources behind the testosterone modeling include:
- Nankin HR. "Hormone kinetics after intramuscular testosterone cypionate." Fertility and Sterility, 1987 — the classic study showing serum testosterone peaking at days 2–5 and declining toward baseline by days 13–14 after a 200 mg IM dose.
- "Pharmacokinetics of Testosterone Enanthate After Intramuscular Injection." Androgens: Clinical Research and Therapeutics, 2020 — modern PK profiling of enanthate dosing.
- "Pharmacology of testosterone replacement therapy preparations." Translational Andrology and Urology, 2016 — a review of the release and clearance profiles of common TRT esters.
- "Pharmacokinetics of testosterone" — reference overview — a consolidated, well-cited table of ester half-lives used to sanity-check parameters.
Where a compound's evidence is thin — many SARMs and novel peptides — the profile is flagged limited or estimated in-app rather than presented as settled science.
Track it in OptiPin
The forecast isn't a one-off calculator you re-type numbers into. In OptiPin it runs continuously off your dose log, updates as you inject, and recalibrates whenever you add new bloodwork — and OptiInsight can read that calibrated picture to surface plain-language observations about your trends. The same engine powers the half-life visualizer and the level calculators.
Calibrate your levels to your own bloodwork
Log your doses, enter a lab result, and OptiPin anchors the curve to your physiology — not a population average. All on-device.
Download on the App StoreFAQ
How accurate is the forecast?
Uncalibrated, it's a population-average estimate — the curve shape is reliable but the absolute number can be off because metabolism varies. Enter one real bloodwork result and OptiPin fits two parameters (your baseline + a 0.5×–1.5× dose-response factor) to anchor the curve to you, which sharply improves the absolute level. It's still an estimate; a blood draw is always the source of truth.
Which compounds does it cover?
Testosterone, estradiol, and DHT get dedicated calibrated calculators in clinical units (ng/dL, pg/mL). Around 70 other compounds — SARMs, AIs, GLP-1s, peptides, oral/injectable anabolics, pharmaceuticals — run in the Levels & Protocol Planner as amount-on-board (mg/mcg/IU).
Does it work for peptides and GLP-1s?
Yes, but it plots amount-on-board (how much is still active) rather than a blood concentration, because there's no routine assay to map those to a blood level. Great for comparing schedules and timing; not calibrated to bloodwork the way the hormone curves are.
Why calibrate with bloodwork?
Two people on the same dose can sit hundreds of ng/dL apart due to clearance, SHBG, and aromatization differences a generic model can't know. One lab value tells the model where you actually land; more points make the multi-point fit better still.
Is it medical advice?
No. OptiPin is an educational tracking tool, not a prescriber. Forecasts are mathematical estimates to help you understand timing and trends — they don't diagnose, recommend doses, or replace a clinician or a lab test.
What model is it, exactly?
A one-compartment PK model with first-order absorption and elimination — the Bateman function — applied per dose and superposed across your whole log. Long-acting test esters use a saturation-then-decay variant calibrated to published curves. No machine-learning black box; transparent, parameter-driven pharmacokinetics.
Related
All calculators · Half-life visualizer · Free testosterone calculator · Bloodwork guide