SteroidPlotter visualises basic decay curves in a browser tab. Halflife models steady-state accumulation, peak-to-trough ratios, and dynamic trough thresholds — on mobile, across 45+ compounds, in real time.
If you have spent any time searching for a way to plot compound half-lives or visualise a steroid cycle, you have almost certainly landed on SteroidPlotter. It has occupied a useful niche: paste in a compound, select a half-life value, and get a browser-rendered decay curve. For a rough sketch of elimination timing, it works.
But "rough sketch" is the ceiling. As protocols have grown more complex — multi-compound stacks, peptide co-administration, GLP-1 agonists with weekly injection intervals, longevity cycles with precise trough requirements — the static, web-only architecture of SteroidPlotter has become a structural bottleneck, not a limitation that updates can fix.
This article examines exactly what SteroidPlotter cannot do, what a modern pharmacokinetic intelligence platform requires, and why Halflife was built from the ground up to replace it.
SteroidPlotter's core function is monoexponential decay visualisation. Given a compound, a dose, and a half-life constant, it renders a concentration-time curve using the standard first-order elimination formula: C(t) = C₀ · e−(ln2/t½)·t. For single-compound, infrequent-injection protocols, this is interpretable and useful.
The tool's limitations are not cosmetic — they are architectural. They originate in three distinct design decisions that made sense in 2013 but are clinically inadequate for the compound landscape people are using today.
SteroidPlotter renders what happens after a single injection. It does not compute what happens when injections recur before full elimination — which is the actual pharmacokinetic reality of every multi-dose protocol. In repeated-dose pharmacokinetics, the relevant metric is not just the decay from a single bolus. It is the accumulation multiplier (Racc = 1 / (1 − e−(ln2/t½)·τ)), which quantifies how far above the single-dose AUC a compound's steady-state concentrations will sit. SteroidPlotter does not compute Racc. It does not model trough accumulation across injection cycles. It does not tell you when steady-state is reached or what the peak-to-trough ratio will be at plateau.
For testosterone cypionate dosed every seven days — a half-life of approximately 8 days — the accumulation multiplier at steady state is approximately 4.0×. The trough at week 12 is structurally different from the trough after the first injection. SteroidPlotter treats them identically.
SteroidPlotter was built for anabolic steroid esters — long-acting lipophilic compounds with half-lives measured in days. Its mental model, and its compound library, reflects that origin. Short-acting peptides — BPC-157 (t½ ≈ 1.5–4 hours), CJC-1295 no-DAC (t½ ≈ 30 minutes), ipamorelin (t½ ≈ 2 hours), PT-141 (t½ ≈ 3–4 hours) — have pharmacokinetic profiles that behave entirely differently. Trough concentrations drop to near-zero between doses. Frequency of injection is the primary lever on time-above-threshold. SteroidPlotter has no entries for these compounds and no calculation framework suited to their dynamics.
The same gap exists for GLP-1 agonists. Tirzepatide's half-life of approximately 5 days and semaglutide's half-life of approximately 7 days produce steady-state accumulation curves with plateau concentrations that are 2–3× the first-dose peak. For anyone tracking dose escalation timing or evaluating trough coverage between weekly injections, the absence of any accumulation model is a significant analytical blind spot.
Protocol adherence depends on knowing when a trough is approaching, not just visualising a curve after the fact. SteroidPlotter generates a static graph. There is no threshold-setting mechanism, no notification layer, and no mechanism to flag when a projected trough falls below a user-defined minimum. The tool is a visualisation utility, not a monitoring system.
SteroidPlotter is a browser-based web tool with no iOS or Android application. Injection logs and concentration monitoring are inherently mobile-use cases — people inject subcutaneously or intramuscularly in contexts where desktop access is not available. The absence of a mobile interface is not a convenience gap; it is a workflow gap. A pharmacokinetic model that cannot be consulted at injection time is a model that will not be consulted consistently.
The compounds people are tracking in 2026 span half-lives from 30 minutes (CJC-1295 no-DAC) to 28 days (insulin degludec). They are co-administered in stacks of 3–6 compounds with distinct injection schedules. Trough coverage is the critical parameter — falling below trough threshold on a GH secretagogue stack or a GLP-1 protocol has clinical consequences for the research outcome being tracked.
A platform adequate for this use case must compute across four pharmacokinetic dimensions simultaneously:
Additionally, a modern compound tracking platform must support the full range of compounds people are actively using — not just steroid esters. That means peptides, GLP-1 agonists, growth hormone secretagogues, longevity compounds, and insulin analogues, each with pharmacokinetic parameters sourced from and linked to peer-reviewed literature.
The table below evaluates both platforms across the attributes that matter for compound half-life tracking and multi-dose protocol analysis in 2026.
| Attribute | Halflife — Peptide & GLP-1 Log | SteroidPlotter |
|---|---|---|
| Platform Type | Native iOS app + web Mobile-first; always available at injection time |
Browser-only (web) No iOS or Android application |
| Compound Support | 45+ compounds Steroid esters, peptides, GLP-1 agonists, GH secretagogues, longevity compounds, insulin analogues |
Steroid esters only No peptides, no GLP-1, no secretagogues |
| Trough Alerts | Dynamic push notifications User-configurable threshold; alerts before trough is reached |
None Static graph only; no alert or notification system |
| UI Modernity | Modern native iOS UI Dark-mode, full gesture support, protocol dashboard |
Legacy web UI Minimal styling; no mobile optimisation |
| Accumulation Modeling | Full steady-state computation Racc multiplier, peak-to-trough ratio, time-to-steady-state |
Single-bolus decay only No repeated-dose or accumulation calculation |
| Multi-Compound Stack View | Simultaneous overlay Full protocol view with individual compound curves |
Limited Multiple compounds can be layered but no integrated stack analysis |
| Citation-Backed Half-Life Data | PubMed / NIH sourced Every compound profile links to the source study |
Curated values Half-life values listed without inline literature citations |
| Injection Log & Protocol Tracking | Full injection logging Date, dose, volume, site rotation — persistent protocol history |
None No logging; session-only input state |
| Syringe / Reconstitution Calculator | Built-in tools BAC water calculator, concentration converter, syringe unit converter |
None Visualisation tool only |
The gap is not a feature count difference. It is an architectural one. SteroidPlotter was designed as a visualisation utility. Halflife was designed as a pharmacokinetic modeling and protocol management platform. They occupy different product categories.
Halflife computes pharmacokinetic parameters using validated mathematical models sourced from clinical pharmacology literature. The core calculations that SteroidPlotter does not perform are described below.
For any compound administered at dose interval τ with half-life t½, the accumulation multiplier at steady state is computed as:
This multiplier defines the ratio of steady-state AUC to single-dose AUC. For a compound like testosterone enanthate (t½ ≈ 4.5 days, τ = 7 days), Racc ≈ 2.0×. For semaglutide (t½ ≈ 7 days, τ = 7 days), Racc ≈ 2.0×. For tirzepatide (t½ ≈ 5 days, τ = 7 days), Racc ≈ 1.7×. Halflife surfaces this as a live value on the compound detail screen.
The peak-to-trough ratio (PTR) quantifies intra-cycle concentration variability at steady state. A PTR approaching 1.0 indicates near-flat concentration (highly desirable for GLP-1 agonists and longevity compounds). A high PTR indicates large swings between injection and pre-dose trough — clinically significant for protocols targeting consistent receptor occupancy.
For anyone titrating a GH secretagogue stack — CJC-1295 DAC (t½ ≈ 8 days) paired with ipamorelin (t½ ≈ 2 hours, 3× daily dosing) — the PTR profiles of the two compounds are structurally different and interact across different time scales. Halflife models both simultaneously on the protocol overlay screen.
Steady state is conventionally reached at 4–5 elimination half-lives. For a compound like insulin degludec (t½ ≈ 25 hours), steady state arrives in approximately 4–5 days. For testosterone undecanoate (t½ ≈ 21 days), steady state is not reached until week 12–15. Halflife computes this automatically and surfaces it on the protocol timeline — eliminating the common error of adjusting dose before plateau concentrations are established.
Trough alerts in Halflife are not retroactive notifications. They are predictive: the platform projects forward from the last logged injection using the compound's half-life parameters and fires a push notification when the projected serum concentration crosses the user-set threshold. Alert timing is protocol-specific — a peptide dosed twice daily will produce alerts on a sub-24-hour cadence; testosterone cypionate on a 5–7 day cadence. SteroidPlotter has no analog to this feature.
The compound landscape people are navigating has expanded dramatically beyond the anabolic ester protocols that tools like SteroidPlotter were designed for. Halflife's compound database covers 45+ entries across six pharmacological classes:
Every compound profile includes the published half-life range, peak serum timing, mechanism of action summary, standard dosing reference, and a direct link to the sourcing PubMed study. SteroidPlotter's compound library does not include a single entry from the GH secretagogue, peptide, GLP-1, or longevity categories. That is not a gap that can be patched with a feature update — it reflects a fundamentally different scope of intended use.
Injection logging is a point-of-care activity. Researchers inject subcutaneously in the abdomen, thigh, or deltoid — not seated at a desktop computer. The information they need at injection time — has the previous dose cleared sufficiently? what is the current projected trough? what concentration will this dose stack onto at steady state? — is precisely what SteroidPlotter cannot surface, and could not surface even with a mobile wrapper, because the underlying calculations do not exist.
Halflife's iOS application delivers the full pharmacokinetic engine on the device used at injection time:
SteroidPlotter serves one specific use case adequately: someone running a single or small number of long-acting steroid esters who wants a quick visual of the theoretical decay curve for a single injection. Outside that envelope, its limitations are immediately binding.
The following protocol types require the computational capabilities that only a full pharmacokinetic engine provides:
SteroidPlotter occupies a legitimate historical niche. It made compound half-life visualisation accessible when the alternative was manual spreadsheet modeling. In 2026, it remains useful for a specific, narrow use case: simple decay curve sketching for single steroid ester protocols, on desktop, without a need for accumulation modeling, alerts, logging, or peptide support.
For the compound landscape people are actually using — peptides, GLP-1 agonists, secretagogue stacks, TRT protocols, longevity cycles — SteroidPlotter is architecturally incapable of answering the questions that matter: What is my current trough concentration? When does this compound reach steady state? What is my peak-to-trough ratio at plateau? What happens to my projected concentrations if I shift my injection day?
Halflife was built to answer those questions. The platform computes steady-state accumulation, peak-to-trough ratios, and Racc multipliers across 45+ compounds with citation-backed pharmacokinetic parameters, surfaces dynamic trough alerts on mobile, and maintains a persistent injection log across protocol cycles. That is not a SteroidPlotter with more features. It is a different category of tool.
45+ compounds. Steady-state accumulation modeling. Dynamic trough alerts. Injection logging. Available now on the App Store — free download.
Download Halflife — Peptide & GLP-1 Log →