About Bench
What it is, what happens to your data, and where the numbers come from.
What it is
v2.2A tracker for peptide, growth hormone and anabolic protocols. It holds what you are running, what you have actually taken, what is left in the fridge, what it cost, and whether any of it is doing anything: weight, bloodwork, how you felt.
The parts that are easy to get wrong are the parts it takes seriously. Reconstitution arithmetic is exact and covered by tests. Blends are split into their components and each one modelled on its own half-life. A U-40 barrel is never quietly read as U-100. And the 50 compound library tags every dose figure with where it came from, so an approved label and a forum convention never look alike.
Your data
By default there is no account, no server and no analytics. Everything you enter is stored in this browser, on this device, and never leaves it. Not to me, not to whoever is hosting it.
One exception, and it is off unless you switch it on. In Settings you can point the app at a sync server you run yourself, so a second device can read the same data. Your data is encrypted in this browser before it is uploaded, with a key derived from your password, so that server holds something it cannot read either. Leave it alone and nothing is ever sent.
That is a real privacy guarantee and a real risk at the same time. Nobody can read your data, and nobody can recover it for you either. Clearing your browsing data erases it. Export a copy from Settings and keep it somewhere else.
What a skipped dose does
Ticking Record this as a skipped dose writes an entry to your log and marks it as not taken. It is a record rather than the absence of one, and that is the entire point: the app can tell a dose you decided against from one nobody ever logged, and your adherence figure reports the two separately rather than lumping both under missed.
What it stops happening
- No vial is drawn down. Change an existing dose from taken to skipped and the mass goes back into the vial it came from. Delete a skipped entry and nothing is returned, because nothing was taken.
- No drug is modelled in your body, so the curve, the percentage of peak and the projection are all untouched.
- It does not count towards today's ring or your streak, which count it apart from a dose taken.
- It is left out of the outcome comparisons, the injection site rotation, the dose marks on the weight chart, and the protocol the app infers from your history.
- The dose, units and vial fields grey out while the box is ticked, since none of them mean anything for a dose that did not happen.
Where it still shows up
In the log with its own marker, in the Skipped figure for the last thirty days, as "skipped" in the printable report, and as skipped=yes in the CSV export.
What it tracks
- 50 compounds, with cited half-lives and dose ranges
- Protocols, titration ladders and adherence
- Reconstitution for U-100 and U-40 syringes
- Vial stock, beyond-use dates and cost per dose
- Injection site rotation
- Weight, with Android Health read-in
- 16 blood markers, charted against your doses
- Interaction checks across what you run together
What is new
v2.2Polish language support, full translation coverage across all four languages, a visual syringe picker, adherence fixes, and dead translation key cleanup.
- Polish added as a fourth language, reviewed by a native speaker. Switch between EN, DE, FR and PL from the header dropdown.
- Full translation coverage across every screen, panel and component. Every string the page scanner missed, including ternary hints, helper returns, stock page labels and diluent names, is now translated.
- Pick a syringe by looking at one. The calculator now shows a visual barrel for each option instead of a dropdown.
- Real plural selection instead of bending every sentence around it. Languages that distinguish one from many now say the right thing.
- Adherence fix: each dose was being matched to the nearest log and the last one was lost. Fixed.
- Moving a schedule no longer invents a dose to call missed.
- 246 dead translation keys that nothing rendered were deleted, with a test to prevent them coming back.
- About page and landing page fully translated into all four languages.
Contributors: @suskozaver
German language support, weight on the PK chart, actual mg in the readout, and a wave of fixes and features from the community.
Protocol editing, week-band dosing plans, dose logging by protocol, grouped vials, and a fix for the body-weight unit bug.
User count on the landing page, mg dose entry, manual update check, and a cleaner injection site map.
Daily check-ins, lab reports read straight off a PDF, and ancillaries.
A public page for the app, an About tab, and a light theme by default.
Anabolics and growth hormone, your own compounds, and a proper web app.
Import from other trackers, and bloodwork.
First Android build.
Who made it
Built by Arun, originally to track my own protocols properly, because every other option either wanted an account or got the arithmetic wrong. It is free, there is nothing to buy, and nothing about you is collected.
github.com/ArunNGun Join the DiscordCorrections to the library are welcome, particularly with a citation attached.
App icon by Ricardo Ruiz on Flaticon, used under the Flaticon licence.
Where the numbers come from
Prescribing labels first, then published trials, then registries. Community practice is included where it is genuinely what people do, but it is always tagged as such.
Where a half-life has never been measured in humans, as with trenbolone and several research peptides, the app says so and draws no curve rather than inventing one that looks authoritative. Every entry links its sources.