ryOS ryOS / Docs
GitHub Launch

Fitness

Fitness is a training log with an exercise guide, a weekly plan, body stats, and a food log. Workouts, schedule, body records, food, and goals sync when Cloud Sync is on. Units and the current view stay on this device.

Overview

The window has five areas: Exercises, Workouts, Schedule, Body, and Food. Details for the selected exercise, day, or meal open in a side sheet, the same drawer Calendar uses for an event. On a narrow window that sheet sits at the bottom. The toolbar sidebar button opens and closes it.

The exercise list is the pinned free-exercise-db library (commit f00c92c7, 876 exercises). Photos, steps, muscles, equipment, level, and type come from that library. The detail view credits the source.

Features

  • Exercise guide: filter by muscle, equipment, or type, and search by the localized name or the English name. The detail shows photos, steps, primary and secondary muscles, and equipment.
  • Localized names and instructions: in a non-English UI, the exercise view uses the translated name as the title and the English name as secondary text. Instructions are translated only. Workout log, records, suggestions, and the schedule show the localized name only. Saved workouts still store the English name. Catalogs cover en, zh-TW, zh-CN, ja, ko, fr, de, es, pt, it, and ru. zh-TW is Traditional Chinese. English UI keeps the library text.
  • Workout log: add exercises to a day and record sets, reps, and weight. The last session is shown as a hint. A chart tracks estimated one-rep max (Epley), or reps for a bodyweight exercise. The chart, best set, and recent sessions live in the side sheet.
  • Weekly schedule: a focus per weekday (upper, lower, push, pull, legs, core, cardio, full body, or rest), with templates for Upper/Lower, Push/Pull/Legs, Full Body ×3, and Balanced. Recommended exercises can start a workout. The sheet includes a Monday-start mini calendar. Planning a future day stores that date and leaves the repeating template alone. A weekly workout target and streak sit with the plan.
  • Body and goals: weight, body fat, and measurements, plus a target weight and a weekly workout target. The body view charts weight.
  • Food log: snap or upload a meal photo, or type the meal, and AI estimates items, calories, and macros. Review and edit before saving, or add food by hand. Estimates can be wrong. On iOS the photo button opens the system sheet (Photo Library, Take Photo, Choose File). Desktop opens the file picker. Removing a photo is the corner control on the thumbnail.
  • Shared meals: a split menu sits next to the meal type (breakfast, lunch, dinner, snack) on an AI draft, a manual entry, and an existing row. Choices are no split, ÷2, ÷3, ÷4, and custom (1–20). Calories, protein, carbs, fat, and numeric amounts in the portion are divided by that count. Percentages such as 2% stay as written. The full meal is kept so a later change divides the original again. Daily totals use your share. The log labels the split (÷2, or a count for 3, 4, and custom).

User Guide

Open Fitness and pick a page from the toolbar. On Exercises, filter the list and open a row for photos and steps. Add it to today from Workouts, then log sets.

On Schedule, set each day's focus or start from a template. Start Workout fills that day with the recommended exercises.

On Food, add a photo or a manual entry, pick the meal type, and set the split if the meal was shared. Edit the estimate before saving.

Switch metric and imperial from the Units menu.

Data sources and licenses

SourceUsed forLicense
free-exercise-db at f00c92c7Exercise names, instructions, photos, muscles, equipment, level, and type. Served from jsDelivr, with GitHub raw as the fallbackUnlicense (public domain)
src/apps/fitness/locales/{locale}.jsonTranslated exercise names and instructions, keyed by exercise id. Loaded when Fitness opens in a non-English languageryOS translations of the library text
AI (POST /api/fitness/food-analyze)Meal photo or text estimateGenerated. May be inaccurate

The exercise detail footer links the library and states the public-domain license.

Technical Details

Window configuration

  • Default size: 840 × 600 px
  • Minimum size: 400 × 420 px
  • Maximum width: 660 px

Endpoints

MethodPathRole
GET/api/fitness/exercisesCompact list (instructions omitted). Cached in memory for 24 hours
GET/api/fitness/exercises?id=One exercise, including instructions
POST/api/fitness/food-analyze{ image?: { mediaType, data }, text?, locale? }. Returns an editable estimate. Auth is optional. Anonymous and signed-in callers have separate burst and daily limits

Photos load from https://cdn.jsdelivr.net/gh/yuhonas/free-exercise-db@f00c92c7dcf1216a928a52c3706c7ce8e2f71ed5/exercises/.

Components

Related Apps

  • Calendar – the Fitness side sheet uses the same drawer
  • Control Panels – language selects the exercise catalog. Cloud Sync copies workouts, body stats, food, schedule, and goals