Skip to content
RIRVana

How often it counts the set right.

Current tracker counts compared with the counts lifters saved.

Data covers to .

One rep makes the difference.

Demonstration: tracker 7, saved count 8.

TrackerSaved781 missed

An illustrative example, not a recorded set.

Tracked sets626
Count matched the saved count67.4%

Loaded . Totals include all captured tracker versions.

422 Matched saved count

204 Did not match

Set agreement. Each set is counted once.

Count agreement by exercise. Rep differences share one scale: missed left, extra right. Saved counts are lifter reports, not independent video labels.

  • Exercise
    pulldown_pullup
    Sets
    106
    Matched
    87 / 106
    Missed reps
    59
    Extra reps
    4
    Rep difference
  • Exercise
    curl
    Sets
    105
    Matched
    72 / 105
    Missed reps
    90
    Extra reps
    15
    Rep difference
  • Exercise
    bench_press
    Sets
    92
    Matched
    64 / 92
    Missed reps
    44
    Extra reps
    19
    Rep difference
  • Exercise
    deadlift
    Sets
    67
    Matched
    44 / 67
    Missed reps
    27
    Extra reps
    16
    Rep difference
  • Exercise
    lateral_raise
    Sets
    61
    Matched
    37 / 61
    Missed reps
    53
    Extra reps
    25
    Rep difference
  • Exercise
    row
    Sets
    58
    Matched
    27 / 58
    Missed reps
    97
    Extra reps
    19
    Rep difference
  • Exercise
    squat
    Sets
    50
    Matched
    45 / 50
    Missed reps
    5
    Extra reps
    2
    Rep difference
  • Exercise
    triceps_extension
    Sets
    45
    Matched
    22 / 45
    Missed reps
    95
    Extra reps
    8
    Rep difference
  • Exercise
    overhead_press
    Sets
    37
    Matched
    20 / 37
    Missed reps
    17
    Extra reps
    12
    Rep difference
  • Exercise
    lunge
    Sets
    5
    Matched
    4 / 5
    Missed reps
    2
    Extra reps
    0
    Rep difference

A matching count means the tracker and saved count agree. It does not independently establish a correct count or measure RIR accuracy. Results combine historical tracker versions; they do not isolate the current version.

Demonstration blockNot customer data · made-up sets

What a block of readings looks like.

No real training blocks exist yet, so this one is made up. What is real is the shape: the structure the app records and the rule it applies to load. Below it, the literature the estimator is built on.

Added to the top set+40lbs
Prescription inside the estimate range78%
Median gap, prescribed to estimated1.0RIR

Load follows the reading

The jump is only taken when the estimated effort said there was room, and it waits out the deload. Week four of each wave holds the load and backs the effort off on purpose, and its week tick is ambered.

Every set in the block. Estimated RIR comes from the model, not the camera, and is inked as an estimate.

  • Week
    W1
    Top set
    300 lbs
    Prescribed
    3 RIR
    Estimated
    2 RIR (1–3)
    Call
    On target
  • Week
    W2
    Top set
    305 lbs
    Prescribed
    2 RIR
    Estimated
    4 RIR (3–5)
    Call
    Room · add load
  • Week
    W3
    Top set
    315 lbs
    Prescribed
    1 RIR
    Estimated
    0 RIR (0–1)
    Call
    On target
  • Week
    W4
    Top set
    315 lbs
    Prescribed
    4 RIR
    Estimated
    6 RIR (4–10)
    Call
    Deload · on target
  • Week
    W5
    Top set
    320 lbs
    Prescribed
    3 RIR
    Estimated
    2 RIR (1–3)
    Call
    On target
  • Week
    W6
    Top set
    325 lbs
    Prescribed
    2 RIR
    Estimated
    4 RIR (3–5)
    Call
    Room · add load
  • Week
    W7
    Top set
    335 lbs
    Prescribed
    1 RIR
    Estimated
    1 RIR (0–2)
    Call
    On target
  • Week
    W8
    Top set
    335 lbs
    Prescribed
    4 RIR
    Estimated
    6 RIR (4–10)
    Call
    Deload · on target
  • Week
    W9
    Top set
    340 lbs
    Prescribed
    3 RIR
    Estimated
    4 RIR (3–5)
    Call
    On target
DemonstrationModel vs self-report

Where the guess goes wrong.

Self-reported effort against estimated effort on the same sets. Rows are what the lifter said; columns are what the model estimated from the reading. Anything to the right of the diagonal had more left in it than the lifter believed. This matrix is demonstration data, drawn to show how the comparison reads, not a result.

This is the calibration the paid tier tracks over time: your reported number beside the estimated one, set after set, so the gap closes.

said / est.01246071511582413843157
Literature

What the estimator stands on.

Velocity-loss-to-RIR bands are adapted conservatively from bar-velocity research. Those studies measured linear bar speed under known loads; RIRVana measures angular joint velocity from a phone camera, so the ranges are kept wide and the confidence honest.

Velocity tracks fatigue

Within-set velocity loss is an established index of neuromuscular fatigue[1], and concentric velocity falls as reps in reserve run out, with strong relationships across the powerlifts[2].

Self-report drifts

Lifters misjudge RIR by roughly a rep near failure and more further out[7]; accuracy improves closer to failure and with experience but is not perfect even at 1 RIR[3][4].

Feedback closes the gap

Trained lifters' intraset RIR predictions sit within about one rep[5]. Phone-camera velocity apps have been validated against lab references[6].

The bands, as shipped

Every velocity-loss band the estimator applies, read from packages/core.

  • Velocity loss
    ≥ 45%
    RIR
    0
    Range
    0–1
    Confidence
    medium
    Basis
    at or near failure
  • Velocity loss
    ≥ 30%
    RIR
    1
    Range
    0–2
    Confidence
    medium
    Basis
    pronounced slowdown, very close to failure
  • Velocity loss
    ≥ 20%
    RIR
    2
    Range
    1–3
    Confidence
    medium
    Basis
    clear fatigue, a couple of reps left
  • Velocity loss
    ≥ 10%
    RIR
    4
    Range
    3–5
    Confidence
    medium
    Basis
    moderate slowdown, several reps in reserve
  • Velocity loss
    ≥ 0%
    RIR
    6
    Range
    4–10
    Confidence
    low
    Basis
    far from failure; estimates this far out are rough

Read from packages/core/src/rirEstimate.ts. Sets under 4 reps drop confidence one step.

The reading earns trust one set at a time.

Join the waitlist