Stop guessing your saddle height.

Film 20–30 seconds of pedaling and every fit angle comes back green, amber or red, with what to change. Runs in your browser — nothing is uploaded.

Runs in your browser No video upload Open source Any bike

A rider ran their first clip through it and went away to raise their saddle. @paceandpedal_ on Threads ↗

bikefit.doniwirawan.xyz
EXAMPLE · SIDE VIEW · FIT SKELETON 82° 38° 13° SHOULDERKNEEELBOW
Minor tweaks · 5 pedal strokes
Knee at bottom38°  GREEN
Torso from horizontal48°  GREEN
Elbow bend13°  AMBER

How it works

How the bike fit analysis works

Google's MediaPipe Pose does the tracking, entirely on your own device.

Step 1

Film your ride

Camera square to your side, about hip height. Pedal steadily for 20–30 seconds — a turbo trainer gives the most consistent result.

Step 2

AI tracks your joints

Shoulder, elbow, hip, knee and ankle are found in every frame. It picks the side facing the camera and skips frames that aren't clear enough.

Step 3

Get graded advice

Every angle is compared against the ranges used in bike fitting, then explained in plain language.

dialed borderline fix it

What good looks like

What a good bike fit looks like

A good fit is not only about power — it is what keeps you comfortable and in control.

Knee at the bottom

30–40°

Still slightly bent at the bottom of the stroke. Too much bend means the saddle is low; nearly straight means it's high — that's when the hips start rocking.

Back / torso angle

40–50°

Low enough to be efficient and aero, but high enough to breathe and stay comfortable for the length of your ride.

Elbow bend

15–30°

Never locked straight. A slight bend absorbs vibration and takes pressure off your hands.

Reach to the bars

80–95°

A reach that fits keeps your shoulders relaxed, without feeling stretched out or cramped.

Stable hips

from the rear

Level, with no side-to-side rocking. Rocking usually means the saddle is a touch too high.

Knee tracking

from the front

Knees driving straight up and down over the pedals, not diving in or bowing out — a cleat and stability cue.

Every measurement in detail, view by view: how the analyzer works.

Honest comparison

This tool vs. a professional fit

They are not competitors. Run this first, then walk into a fitting knowing what to ask.

This tool A professional fit
Cost Free, as many clips as you like Paid — varies by studio and country
Where Your phone or laptop, at home, in minutes A studio, usually a two to three hour session
What it sees Joint angles from a 2D side, front or rear clip Your body in 3D, plus pressure mapping, cleats and foot support
How precise Within a few degrees. Knee is the most reliable, reach the least Precise, and with a fitter watching you actually ride
What you get A saddle-height change in mm, and which way your reach and bar height are off All of that, plus the parts that would fix it and someone fitting them
Best for Catching an obviously wrong saddle height before you spend anything Pain, injury, racing, or setting up a new bike

FAQ

Frequently asked questions

Is my video uploaded anywhere?

No. Pose detection and every calculation run in your browser. Nothing is uploaded, and no account is needed.

Which bikes does it work with?

Almost any — road, MTB, gravel, TT/triathlon, hybrid, commuter or e-bike. It measures your body, not the bike, and the target angles follow the bike type you pick.

How accurate is it?

Enough to catch the obvious problems, like a saddle that's too high or too low. Knee is the most consistent reading, reach the least. It's 2D, so it can't replace a professional 3D fit.

What kind of clip should I film?

20–30 seconds, camera square to your side at hip height, pedaling as you normally would. A trainer and decent light make it more consistent.

Does it work on my phone?

Yes, in any modern browser. Devices with WebGPU are faster; older ones fall back to the CPU and still work, just slower.

Is it free? Can I see the code?

Free, and the full source is published so you can check the privacy claims yourself — read the code on GitHub. It's source-available, not open source: read it, learn from it, use the tool — just don't build a competing product from it.

Can it replace a professional bike fit?

Not yet. It's a basic check to run before you adjust anything yourself or book a fitter. If you have pain or specific fitting needs, see a professional.

Guides

Read this before you move anything

What the numbers mean, what to change first, and where this kind of measurement stops being reliable.

Versi Bahasa Indonesia ada di bike fitting dari video, tinggi sadel, nyeri lutut, and sakit punggung dan leher. All guides →

On Threads

People are already riding with it

A rider's first run with the analyzer, and the post it launched from.

@paceandpedal_ Open ↗

Nothing is fetched from Threads until you click.

@doniwirawans Open ↗

Nothing is fetched from Threads until you click.

Ready to see your numbers?

Drop a clip and get a graded read in under a minute — free, in your browser.

Launch the analyzer