Support
SetForward Support
Email hello@lifeslevelup.com. It is one person, so a reply may take a few days.
A bug report is most useful with your device and OS version, the app version from Settings, and what you did just before it happened.
Questions
Where is my data stored?
On your phone, in a database inside the app’s own private storage. There is no account and no server copy, so the developer cannot see your workouts and cannot recover them for you. Other apps on your device cannot read the database either. It stays there until you delete it, through Settings → Delete all data or by uninstalling the app. Uninstalling takes your history with it.
How do backups work?
Settings → Export backup writes your data to a JSON file and passes it to your phone’s share sheet, where you choose what happens to it — Files, email, a cloud drive, or cancel. The file is plain text you can open and read. Settings → Restore from backup reads a file you pick and replaces your current data with its contents. A restore is validated before anything is written and runs as a single transaction, so a file that turns out to be malformed leaves your existing data untouched. Because a restore replaces what is there, export a fresh backup first if your current data matters.
Can I import my history from Hevy?
Yes. Export a CSV from Hevy, then use Settings → Import from Hevy and select that file. The import is additive: it adds completed workouts to your history and never modifies or deletes anything already there. Before writing, it shows a preview of what will be imported and offers to export a backup first. Workouts already in your log are detected and skipped, so importing the same file twice does nothing. Some rows cannot be represented in SetForward’s data model and are skipped, with counts shown: entries without reps such as distance or duration, warm-ups and other non-normal set types, RPE values, and superset grouping. Exercise names are matched to your existing exercises case-insensitively, or created if new; names are not normalised, so variants stay distinct.
How does the app decide my next target?
By reading your own logged history for that exercise and applying one deterministic rule, with the reasoning shown next to the number. Under General fitness, Build muscle and Lose fat & maintain muscle — three goals that run the same rule — each set progresses on its own. SetForward looks at what that set number did last time: if it reached the top of your rep range, its weight goes up by your increment and its target returns to the minimum reps; if it came in under its own previous best at the same weight, the weight holds and the target is the better of the two; otherwise the weight holds and the target is one more rep than that set did last time, never above the top of your range. Under Get stronger the session is judged as a whole instead: the weight goes up when your first set reaches the top of the range and every set clears the minimum, and otherwise it holds. Rep counts are only ever compared at the same load, so the session after a weight increase is not read as a decline.
Two things worth knowing. Workouts brought in through the Hevy importer appear in your history and charts but do not set progression targets, because the app did not log them and cannot know what they were performed under. And if more than 21 days have passed since you last did an exercise, the app notes how long it has been and says you may want to start lighter and work back up — that note is informational and does not change the target.