Zyra Workouts is in development and not yet on the App Store; screens may change before release.

Your training log in Zyra Workouts is yours to take out. Two taps under More produce a CSV or JSON file with every set you have logged, handed to the iOS share sheet so it can go to Files, a spreadsheet, or another app. This guide covers the sheet, the exact columns, and the one column whose label is misleading.

What it does

More → Data → Export workouts → opens a small sheet:

SettingOptionsResult
FormatJSON · CSVzyra-workouts-<timestamp>.json or .csv
RangeAll · 90D · 30DSessions started within the last 90 or 30 days, or everything

Tap Export and the system share sheet appears with the file. Nothing is uploaded anywhere by the app itself; where the file goes is your choice in that sheet.

Step by step

  1. More tab → Data card → Export workouts →.
  2. Pick CSV for a spreadsheet, JSON for a full-fidelity copy.
  3. Pick the range. "All" for a backup, 30D or 90D for a quick look at a training block.
  4. Tap Export. Choose a destination — Save to Files is the simplest.
  5. Open it. In a spreadsheet, filter set_type to standard, drop, myo and failure to exclude warm-ups, since they are included and labelled rather than dropped.

What the numbers mean

The CSV is one row per logged set with eight columns:

ColumnContentsNotes
dateSession start date, YYYY-MM-DDUTC date of the session start
exerciseExercise nameDeleted custom exercises appear as "Custom exercise (deleted)"
set_typestandard · warmup · drop · myo · failureDrop and myo sub-entries are their own rows
sidenone · left · rightFrom the L/R split
weight_kgLoad in kilogramsAlways kg, even with the lb display setting
repsFull reps
partial_repsPartial reps0 when none
rirStored effort value, 6–10, or empty10 = 0 RIR; RIR = 10 − value

The last column deserves a sentence. Internally the app stores effort as a 6–10 number (10 − RIR), and the export writes that raw value under the heading rir. A set you logged at 2R therefore exports as 8; a failure set as 10; a set with no chip chosen as an empty cell. The RIR / RPE converter is the same translation. Working-set volume in your own spreadsheet is weight_kg × reps over non-warm-up rows, which reproduces the app's session totals; partials add nothing, matching the app.

JSON differs by range: "All" writes the app's whole history document as stored; 90D and 30D write an array of the matching sessions. Either way the shape is the app's own — sessions containing exercises containing sets, with ids, timestamps in milliseconds, per-session volume and PR count, and any notes.

Gotchas

  • Sets are in kilograms. Convert in the spreadsheet (× 2.2046) if you want pounds; the app does not export lb.
  • Warm-ups are in the file. Filter them out yourself; every other surface in the app excludes them, the export does not.
  • The date is the session start, in UTC. A late-evening session can land on the next calendar day in the file.
  • Body-weight and measurements are not in the workout export. It covers sessions only; the JSON is the workout history document.
  • No import yet. CSV import / backfill and XLSX are roadmap items. The export is the way out, not yet a way back in — keep the JSON if you want a complete copy.

The short version

More → Data → Export workouts → JSON or CSV, All / 90D / 30D, Export, share. CSV is one row per set — date, exercise, set_type, side, weight_kg, reps, partial_reps, rir — in kilograms, warm-ups included, and the rir column is the stored 6–10 effort value (RIR = 10 − value). JSON "All" is the whole history. Import is coming, not built. Zyra Workouts is a training log, and this page describes one of its features as built today. Educational overview only — not medical advice.