Skip to the article
Aniq-UI

KinoraProgress and photos

Progress and photos

Scores, body metrics, habit streaks and records, the before and after photos with a weight goal, and the readings a member logs by hand.

For the Full Stack package

The progress page

/en/dashboard/progress reads everything from the member's own rows:

  • Scores for strength, endurance, flexibility and mobility against four weeks ago, and their average as the total improvement.
  • This week against last: sessions, minutes, calories and intensity (the average effort of the sets).
  • Body metrics (weight, body fat, muscle) with their change over four weeks, the body composition over eight weeks, and the measurements from the first reading to the latest.
  • Five habit streaks over 28 days: training, hydration at goal, 7 hours of sleep, protein at goal and 10,000 steps.
  • Records (the farthest run, the longest session, the heaviest bench press set, the most steps in a day), milestones, badges and achievements.

Progress photos

  • /en/dashboard/progress/photos compares two checkpoints side by side, with a picker for the before and the after.
  • A member adds a checkpoint with a photo, a date and an optional weight. The photo is uploaded first, so adding one needs a media bucket.
  • The weight goal (a target in kilograms and a date) shows how far the member has come from the first photo, and the milestones list what changed since: weight lost, body fat down, chest up, waist down.
  • A journal keeps the member's notes, up to 4,000 characters.

What a member logs by hand

Without a device, a member writes their own readings. Each one is for a date (never in the future) and replaces that day's reading if there is one.

WhereWhatNotes
SleepA night: bedtime and wake time, and optionally a score and the minutes of each stageMissing stages are spread in the member's usual shares, and a missing score is worked out from the night's length.
HealthA day's vitals: resting heart rate, HRV, blood oxygen, breathing rate, temperature, blood pressure, weightOnly the values sent change.
ProgressA body reading: weight, body fat, muscle and five measurementsValues not sent carry forward from the last reading.

A weight is written to both the health and the body readings, so the Health and Progress pages never disagree. Each reading can be deleted again.

The progress routes

MethodPathPermissionWhat it does
GET/api/fitness/progressfitness.viewThe progress page
GET/api/fitness/progress/photos?before&afterfitness.viewThe photos page; before and after are dates or checkpoint keys
POST/api/fitness/progress/photosfitness.editAdds a checkpoint ({ image, date, weightKg? }, image from the upload route)
PATCH/api/fitness/progress/photos/notesfitness.editSaves the journal ({ notes })
PATCH/api/fitness/progress/goalfitness.editSets the goal ({ targetKg, targetDate })
POST, DELETE/api/fitness/progress/readings[/:date]fitness.editLogs or deletes a body reading
POST, DELETE/api/fitness/sleep/nights[/:date]fitness.editLogs or deletes a night
POST, DELETE/api/fitness/health/readings[/:date]fitness.editLogs or deletes a day's vitals

Stuck on a step?

Find a fix before you start over.

Troubleshooting

Cookie Preferences

We use cookies to enhance your browsing experience, analyze site traffic, and personalize content. By clicking "Accept All", you consent to our use of cookies for analytics and personalized advertising.