Personal nutrition system · built 2026
If the numbers don't reconcile, nothing ships.
Garni tracks 37 nutrients against a single rule: every figure has to be defensible. Five automated checks run before each release. Any one of them fails and the build stops — no override, no warning-and-continue.
Three defects the checks caught
Every one of these passed a human read. None survived the build.
Two ingredients in the same recipe had been hand-tuned against each other so the meal's totals looked right while both individual entries were wrong. Carbohydrate, potassium and omega-3 discrepancies offset to exactly zero across the pair.
Calcium didn't cancel. A 4mg residue blocked the build and exposed the whole arrangement.
Arithmetic — fixed=226.5, parts=222.5On training days one time block relocated to follow the workout, landing entirely inside another. Ownership resolved to whichever started first, so the second block could never be credited — not a hard target, an impossible one.
It only appeared on days a workout was logged, which is why it read as random.
Overlap — Afternoon 3–5p × Post-lift 4–7p × Dinner 5–8pRecords stored "1 medium" and multiplied from there. A medium peach is 150g by reference; the one in the kitchen was closer to 200g — a third more sugar than the figure claimed, every time.
Weighed foods are now stored per gram and entered from the scale. The reference serving survives as a display default, not as an assumption.
Per-unit records — chicken, salmon, steak, broccoli, peachWhat's in it
How it's built
Garni ships as a single HTML file dragged onto static hosting. No backend, no sign-up, no server holding anyone's health data — every log lives in the browser on the device that wrote it.
A product's own label beats a reference database for the item in your kitchen. Where they disagree, the check reports it rather than splitting the difference.
Records carry their provenance — measured, label-exact, or informed guess — and the interface says which. A guess that looks like a measurement is worse than no number.
Five figures scale with bodyweight. The other 32 are fixed, because a requirement set by enzyme demand or a risk threshold doesn't care what you weigh.
Try it
Open it on a phone and add it to the home screen. It runs offline and keeps your data on your device.
Open Garni