Comparison · the real competitor
The choice most people are actually weighing isn't between two apps — it's between an app and the spreadsheet already open in another tab. A spreadsheet is a completely reasonable way to track one thing on a fixed schedule. This page is about the exact point that stops being true.
A spreadsheet is static until you touch it. The moment you do, one of these two things happens — and only one of them involves you.
| When you change… | In a spreadsheet | In VialMath |
|---|---|---|
| The dose | Update the formulas by hand, and hope you found every one that referenced it | The draw, vial life, run-out and reorder date all move together |
| The frequency | Recalculate the supply math by hand | Supply recalculates on its own |
| The vial concentration | Hunt down every formula that referenced it | Every dependent number updates with it |
| Want last month's state back | Duplicate the sheet beforehand, and hope you remembered to | The history is already what it was — nothing to duplicate |
| You miss a day | Reconcile the rest of the sheet by hand | Log it late — everything downstream re-derives |
Everything in that table costs you time. This one is different — it changes what your own records say happened, and it does it silently.
VialMath doesn't allow this, by construction. A logged entry keeps the concentration that was actually in effect when it was logged — change today's number and only today-forward calculations use it. If a past entry really was wrong, you correct it, and the correction itself becomes part of the record instead of silently overwriting what was there.
A comparison that only ever favors us isn't one worth reading.
If this is the point you've reached
VialMath imports CSV. You map which column is the date and which is the dose, review a preview, and nothing activates until you confirm it — a few minutes, not a rebuild.
Free is live: three active items, their schedules, Today, your full history, vial tracking and your run-out date — no account, no card. Power is $49 once and removes the limit.