log it all.
keep the streak.
An Android training and cut tracker built like a terminal. It works with no signal and no account.
PISTON
He starts as a stick figure. Train, and he grows.
the day, on one screen
Six numbers. One tap each.
the streak
A day counts when you log your weight and hit protein, or log a workout. Miss one and a freeze covers it.
a rest timer that survives everything
Lock the screen or take a call. It keeps counting, and it buzzes at zero.
It runs in a notification with a live countdown, so it does not stop when the app does. Nudge it ±30s or skip it from the notification itself. The buzz at zero is a scheduled alarm: Android asks for the exact-alarm permission the first time you rest, and without it Doze can hold the buzz back by minutes.
screens
log the lift
Last time, right there
Every set row shows what you did last session, beside the input. No scrolling back mid-set.
The ramp, built for you
One lighter set at 60% before the working sets, or up to four if you want a longer ramp.
It moves the weight up
Hit the top of your rep range and next session starts heavier, with an undo if you disagree.
Records flag themselves
Finish a session and it tells you what you beat. History carries an estimated 1RM on every weight × reps set.
No signal, no problem
Everything writes to the device first. The gym basement changes nothing.
Your data leaves when you say
CSV covers weight, water, food, steps and sleep; training sits in the JSON only, as a raw event stream. Delete the account and the server copy goes with it.
get it
Android, free, no ads, no trackers.