Three libraries, built in order.
Equipment, exercises and programs, each one built from the previous. All of it on your device.
What each one holds.
Equipment.
A name, a description, images, the exercise type it is mainly for and the other types it allows, a private note and a shareable one. It is the vocabulary everything else uses.
Exercises.
A name, a description, up to ten body-part tags and ten style tags, the equipment it needs, images or a video, and the two notes. Each exercise carries a type label: sets and reps, time, distance, as many reps as possible, circuit or challenge.
Programs.
An ordered list of your exercises, each with its type, reorderable, plus images and the two notes. A program needs at least one exercise to be saved.
Small things that help.
Search equipment and exercises by text, including tags and notes, and filter them by type; programs search by text.
Photos and videos load only when you open an item, so the app stays quick.
Every item has a private note and a shareable note; sharing itself is on the roadmap.
Descriptions and notes hold up to 1,000 characters.
Running one exercise or one piece of equipment opens a sets table with reps, an optional weight in kilograms and a done checkbox per set; those runs are not saved yet.
The whole library exports and imports as one JSON file, media included.