Three languages. One command.
Gym, running, and bodyweight. Log any workout in natural language. The AI detects what you did, routes it to the right place, and tracks progressive overload automatically. Type "be" and the coach walks you through today's session set by set.
Weight times reps times sets. The currency is volume. When all sets hit their rep goals, the AI suggests adding weight.
Distance times time times pace. The AI tracks weekly mileage, PRs for every race distance, and suggests 10% weekly increases when you consistently hit your target.
Reps and duration. When all goals are met, the AI suggests harder variations: standard to diamond to archer to one-arm. The progression path is stored on each exercise.
The AI reads your program, knows your numbers, and walks you through every exercise. Different coaching style for each modality.
You choose what to train. The AI builds the structure. Every exercise tracks its own values, goals, and history. The program spans all modalities.
Every exercise has values and goals stored on the tree. When all goals are met, the AI triggers progression. Different for each modality.
If the food extension is installed, a bidirectional channel connects them. After a workout, the food AI knows you need recovery protein. After a meal, the fitness AI knows if you're fueled for training. No imports between them. Just signals through the tree.
The log mode's prompt is built dynamically from the tree. It reads your exercise names, groups, and modalities. One LLM call detects gym, running, or bodyweight from the input and parses it into structured data. Mixed workouts produce multiple outputs routed to different branches. No second call needed.
Log parses any workout input. Coach guides sessions set by set, adapting per modality. Review analyzes progress across all modalities: volume trends, PRs, consistency, overdue exercises. Plan builds programs using tools to create the tree structure conversationally.
Fitness is a TreeOS extension. No separate database. No external service. Exercise nodes hold values (weight, reps, distance, pace) and goals in their metadata. Cascade channels route logged data from the Log node to exercise nodes. The AI reads the tree to know what exercises exist and what to coach. Change the tree, change the training.
When you start, the AI asks what you train and builds the tree from the conversation. Gym bro gets muscle groups and barbell exercises. Runner gets Runs, PRs, and a mileage plan. Someone doing pushups gets bodyweight exercises with variation progression paths. Same extension. The tree defines the shape. The code is generic.
Four extensions that track the things that make you better.
Plant a land. Create a Fitness tree. Tell it what you do. The AI builds the rest.