Validated functions.
Not coach approval.
The revised app is an experimental bar-path review aid, not a validated autonomous strength coach. Functional and controlled-image tests passed. Independent coach agreement, broad real-video tracking accuracy, and physical-iPhone camera validation are still open gates.
What failed—and changed
- The original tracker lost a usable real lift on its first sampled update. Real plate/hub texture produced multiple nearby correlation candidates that were incorrectly treated as distinct objects. Distinct local-peak matching now avoids that false loss; bounded rotation/scale variants retain the original seed rather than learning occluders.
- The old app had no proper post-set review. It now supports frame-linked scrubbing, quarter/half-speed playback, per-rep selection, separate ascent/top-band/descent traces, and local camera recording where MediaRecorder is supported.
- A top-height pause must not inflate the lowering duration. Timing now separates the peak-height band from the descent. This does not prove standing lockout.
- The arbitrary “12% sideways drift” coaching cutoff was removed. No numerical threshold is presented as good form, safe form or an injury-risk verdict.
- Whole-plate framing checks reject a selected plate that would be cropped. Background anchors flag coherent camera movement when observable; otherwise stability is explicitly unverified.
Additional end-to-end tests caught and fixed portrait canvas letterboxing that offset pointer calibration, static-host video seeks that silently stayed at time zero, and HTML redirects escaping the app mount. Real-sample pointer calibration and report navigation now pass at 390×844, 430×1250 and 1440×1050 viewports. A failed seek stops measurement instead of reporting false completion.
Real lifting footage: three clips
Source: MyDeadlift, Ivan Conanta and Gloria Virginia, version 1, CC BY 4.0. Source hashes were verified. Dataset labels are not treated as independent coach approval or bar-center ground truth.
- GB_S01_R01.mp4: full tracked cycle in Chromium and WebKit. One detected cycle; approximately 1.27 s ascent, 0.73–0.80 s top band, 1.47–1.53 s descent. Peak-band boundaries differed by one 15 Hz sample between engines. Reported maximum offset: 32% of the manually selected plate diameter. This is a descriptive image measurement in an oblique view, not a technique grade. Camera stability remained unverified.
- GB_S04_R01.mp4: rejected at calibration when the ring matched the visible plate size, because the plate extends past the frame edge.
- GB_S07_R11.mp4: rejected at calibration because the near plate/hub is cropped at the starting position.
Interpretation: this is one eligible tracked clip and two rejection checks—not a three-video accuracy benchmark. It does not establish performance across body types, loads, shoes, plates, gyms, viewpoints, or repetitions. The included sample is for testing the tracker, not demonstrating ideal technique.
Controlled stress tests using the supplied still image
The submitted attachment was a screenshot, not a motion clip. Its plate texture was used locally in known synthetic transformations; neither that image nor its derived frames were published.
- Translation, gradual 24° rotation, gradual 30% dimming and modest Gaussian blur: each sequence retained all 23 post-seed frames. Maximum center error across these controlled conditions: 1 pixel at the 480-pixel analysis width.
- Full plate occlusion: rejected on the first affected frame.
- Coherent camera translation: rejected on the first affected frame.
Interpretation: those are controlled image-transform results, not one-pixel accuracy on real deadlifts. They do not reproduce 3D perspective changes, arbitrary motion blur, rolling shutter, complex partial occlusions, or real body/bar interactions.
Automated and browser checks
- 22 unit cases passed (19 tracking/review checks and 3 Worker routing checks): identity, translation, rotation/scale, lighting change, distractors, sticky tracking loss, crop boundaries, malformed frames, partial cycles, jitter, original-template retention, reference offsets, source-time review, top-band separation and camera movement.
- Uploaded-video analysis, per-rep selection, timeline seek, ¼× speed, export and mobile-width layout passed in Chromium and WebKit with zero page errors in the recorded test runs. WebKit automation is not a physical-iPhone test.
- A deterministic fake-camera stream completed a cycle, recorded a local blob, replayed after seeking, and released its camera track. The same flow passed with 4× Chromium CPU throttling. A sampled tracker-update p95 was about 3.4 ms in that desktop emulation; this is not a phone FPS claim or full-frame processing benchmark.
- No app media-upload requests were observed during that camera run. Cloudflare's known page-analytics endpoint was excluded separately; this is not a zero-network claim.
What a coach still needs to verify
- Use the original, unedited side-view lift video. A single screenshot cannot establish bar path, rep timing, or consistency.
- Annotate bar-center positions and rep boundaries independently, then compare errors across multiple sets and lifters. Visual spot checks are not a gold-standard spatial benchmark.
- Validate on the actual phone/browser and lighting/camera setup used in the gym.
- Have a qualified coach review whether the replay and measurements support useful decisions. No human coach has reviewed or endorsed this app.
The app does not measure spine position, hip/knee coordination, bar-to-shin distance, tissue loading, safe load, injury risk, or standing lockout. A vertical start-center line is not automatically an anatomically appropriate ideal. A coach can shift the reference manually; good setup and video judgement remain necessary.
Reproducibility
Project scripts: node --test apps/barpath/*.test.mjs workers/barpath/worker.test.mjs, scripts/verify-barpath.mjs, scripts/verify-barpath-real-browser.mjs, scripts/verify-barpath-camera.mjs, and scripts/eval-barpath-photo.mjs. Browser and photo runs require their local fixtures. Read the machine-readable results.