Reference

How the analyzer works

The detail that used to sit on the front page: what gets measured from each view, how the bike type changes the targets, and what is doing the tracking.

Any bike

Road, MTB, gravel — any bike works

What gets measured is your body, not the bike. Pick what you ride — road, MTB, gravel, TT, hybrid or e-bike — and the target angles shift to suit it.

Road MTB Gravel TT / Tri Hybrid E-bike

The measurements

The bike fit angles measured from the side

Measured at the bottom of every pedal stroke and summarised by median, so one blurry frame cannot skew the result. Graded against the Holmes method and dynamic-fit research.

Side view Primary

The side view is the most accurate, especially for setting saddle height. The reach-related angles are still useful, but they need more careful interpretation because they come from 2D video.

What it measuresTargetReliability
Knee at bottom of strokeSaddle height. Too bent = saddle low; nearly straight = saddle high. You get a specific mm adjustment.30–40°High
Torso from horizontalHow aggressive your position is — front-end height and stack.40–50°Medium
Elbow bendLocked-out vs. softened arms — comfort and shock absorption.15–30°Medium
Shoulder angle (reach)How stretched-out you are to the bars. Treated cautiously — don't swap a stem on one clip.80–95°Soft
Hip at top of strokeInformational reference — depends heavily on flexibility and reach, so it's shown but not graded.85–110°Info

Front & rear views Beta

Treat the front and rear readings as extra hints. For adjustments that really matter, the side view is still the one to rely on.

What it measuresTells youReliability
Knee tracking (FPPA)Frontal-plane projection angle — whether your knee dives in or bows out through the stroke.Cleat / stability cuesBeta
Pelvic rockPeak-to-peak tilt of your hip line across the stroke — often a saddle-too-high sign.Saddle height / stabilityBeta
Left/right symmetryWhether the two sides move evenly.Imbalance cuesBeta

More features

What else the tool does

Three ways to add your clip

  • Drag & drop a video file
  • Browse and pick from your device (.mp4, .mov, .webm)
  • Record straight from your webcam, up to 30 seconds

Your video stays on your device

All the analysis happens directly in your browser, with no upload step.

Fast, with a safe fallback

Uses your GPU via WebGPU when available and automatically falls back to CPU/WASM on older browsers, so it works widely.

Catches bad footage

If your clip isn't square-on — which stretches or squashes the angles, especially reach — it warns you to re-film instead of trusting a skewed reading.

Technology

How the pose detection works

What actually runs when you drop in a clip, and why.

MediaPipe BlazePose

Google's on-device pose model finds 33 body landmarks per frame. It's browser-native and Apache-2.0 licensed — no server, no install.

WebGPU, with WASM fallback

Runs on your GPU where supported for speed, and automatically drops to CPU/WASM elsewhere so it still works.

Deterministic frame stepping

Instead of playing the video, it seeks frame-by-frame so every frame is sampled — no undersampling on slow hardware, no stalls in a background tab.

Median across strokes

Angles are measured at the bottom of every pedal stroke, then the median is taken. One blurry frame or a bad stroke can't move the result.

Near-side lock + visibility gating

It locks onto the leg closest to the camera using confidence over the whole clip, and ignores joints the model isn't sure it can see — so an occluded far leg never poisons the numbers.

Research-based ranges

Green/amber/red thresholds come from the Holmes method and dynamic-fit research, not arbitrary guesses.

How accurate is it, really?

The knee angle is the most consistent measurement, because it's the easiest to read from a side-on video. Torso and elbow are fairly stable too, while the reach-related angles are less precise, because 2D video can't capture depth properly. This is still a proof of concept and it can't replace a 3D bike fitting system. But for finding the clearly visible problems, like a saddle that's too high or too low, it's genuinely useful. If you do adjust something, change one thing at a time and re-film.

Basic fitting for everyone — not a replacement for a pro fitter

This tool exists to help more people run a basic bike fit check for free. The result is a starting point — something to work from before you adjust things yourself, or before you book a session with a professional fitter. Because it only uses 2D video analysis, it has real limits and it can't replace an in-person bike fitting. If you're a bike fitter, or you have feedback from actually fitting people, I'd be very glad to hear it on GitHub.

Made by

Doni Wirawan

I ride, and I was curious whether basic bike fitting could be made easier to get to. This project came out of that curiosity and turned into something anyone can use for free.

Follow on Strava

Also by the creator

Ascent Analytics

Ascent Analytics

Deeper cycling data and performance analytics to turn your rides into insight. If this fit tool is useful, you'll want to check out Ascent.

Explore Ascent Analytics