Do Swing Apps Agree With Each Other? Measuring the Same Angles Twice
Here is the test that changed how I use swing apps. I filmed one 7-iron, face-on, 240fps, iPhone on a tripod, and then I uploaded that exact same file to four apps. Not four swings. One swing, four uploads. Then I did it again with the same file a week later to see whether each app would tell me the same thing twice.
It did not go well for some of them.
The reason this matters is simple. You are not buying a number. You are buying a number you intend to compare against next month’s number, because that comparison is the entire point of tracking your swing. If the app reports 43° of hip turn today and 51° for the identical footage in October, you have not improved your hip turn and you have not lost it. You have learned something about the app’s variance and nothing about yourself. Any discussion of golf swing app accuracy that skips repeatability is measuring the wrong thing.
The test protocol, so you can repeat it
Four apps, all on the same three clips: Sportsbox 3DGolf, Swing AI (formerly Golf AI), HackMotion’s app-based estimates where available, and Uneekor’s View software reading the same session. Plus Onform with manual angle-drawing as a human baseline, because a person dragging a protractor line across a still frame is, it turns out, a surprisingly hard benchmark to beat.
Three clips, chosen deliberately:
- Clip A: face-on, 240fps, tripod at hip height, 8 feet away, indoor net, good LED lighting, plain grey wall behind.
- Clip B: down-the-line, same camera, but handheld by a mate who wobbled slightly and stood a bit high.
- Clip C: face-on again, outdoors at 4pm in November, low winter sun behind me, 60fps because that is what most people actually shoot.
Each clip uploaded five times to each app, with a week between the third and fourth upload. Same file, byte for byte. Any variation in output is pure app noise, because the input literally cannot change.
What came back
Take one metric everyone claims to measure: pelvis rotation at the top of the backswing. Here are the five readings from Clip A, the clean tripod clip, for each tool.
Clip A — pelvis rotation at top (degrees)
r1 r2 r3 r4 r5 spread
Sportsbox 3D 41.2 41.0 41.4 41.1 40.8 0.6
Swing AI 38 38 37 42 38 5
Uneekor View 39.5 39.5 39.5 39.5 39.5 0.0
Onform manual 40 41 40 42 40 2
Uneekor’s zero spread is not a triumph of computer vision; it caches the session and re-serves the same computed value, which is honest behaviour but means the test tells you nothing about its underlying accuracy. Sportsbox’s 0.6° band across five runs on identical input is genuinely impressive and is the number that justifies its subscription price for anyone serious about tracking.
Swing AI’s r4 is the interesting one. Same file. Four degrees out from the cluster. That happened after a version bump between weeks, and it is the exact failure mode that destroys longitudinal tracking: your app silently updates, your baseline shifts, and you spend three weeks chasing a change in your body that happened in a model weights file.
Now the same metric on Clip C, the November outdoor clip at 60fps with sun behind.
Clip C — pelvis rotation at top (degrees)
r1 r2 r3 r4 r5 spread
Sportsbox 3D 44.7 43.1 45.9 43.8 46.2 3.1
Swing AI 51 47 53 46 49 7
Onform manual 45 44 45 45 44 1
Everything degrades, which you would expect. But look at the ratio. Sportsbox went from 0.6° of noise to 3.1°, a five-fold increase, while the human dragging a line went from 2° to 1°. A person handles backlight fine. Pose estimation does not, because the silhouette edges the model relies on get blown out by the sun and the limb keypoints wander.
The practical read: Sportsbox on a tripod indoors is trustworthy to about a degree. The same app outdoors in low sun is trustworthy to about three degrees. Those are different instruments and you should not mix their outputs in one spreadsheet.
The metrics that survived, and the ones that did not
Grouping every output across all four apps and all three clips by how much the reading moved on identical input:
| Metric | Typical spread, good clip | Typical spread, bad clip | Trackable over months? |
|---|---|---|---|
| Shaft lean at impact | 1.1° | 4.8° | Yes, if you control the clip |
| Pelvis rotation at top | 0.6–5° | 3–7° | Only on Sportsbox, tripod only |
| Shoulder turn at top | 1.8° | 6.2° | Marginal |
| Head movement, lateral | 0.4 in | 1.9 in | Yes |
| Early extension / hip depth change | 0.3 in | 2.4 in | Yes, indoors |
| Wrist angle, lead wrist at top | 3.5° | 11° | No, not from video |
| Tempo ratio (back:down) | 0.05 | 0.12 | Yes, best on the list |
| “Swing score” out of 100 | 6 pts | 14 pts | Absolutely not |
Two entries deserve a paragraph each.
Lead wrist angle from video is the worst offender and the most heavily marketed. Swing AI gave me readings between 8° extended and 19° extended on the same Clip B upload. The hand is small in frame, the glove occludes the wrist crease, and the model is essentially guessing. HackMotion, which straps a sensor to your wrist, reported 14.2°, 14.1° and 14.3° across three swings that felt identical. That is not a fair comparison because it is a different input modality, but it is the point: if you care about wrist angle, the video route is not accurate enough and the sensor route costs about £250. Pick one and stop pretending the free option is measuring it.
Tempo is the quiet winner. Every app agreed within about 0.05 on the backswing-to-downswing ratio, because counting frames between two easily-detected events is a much easier computer vision problem than inferring a 3D joint angle from a 2D projection. My readings clustered at 3.1:1 across every tool. If you want one number from a phone that you can actually trust month to month, it is tempo.
The thing nobody tells you about camera position
I ran one extra variant. Same swing, same day, but I moved the tripod 18 inches to the left of true face-on and re-shot. Not a dramatic change; roughly what happens when you set your phone against a bag rather than measuring.
Sportsbox reported pelvis rotation of 41.1° from true face-on and 36.4° from the 18-inch offset. Nearly 5° of difference from a camera position error you would never notice looking at the video. Shoulder turn moved 6°. Shaft lean at impact moved 2.3°.
That dwarfs the app-to-app disagreement. It dwarfs the run-to-run noise. The single biggest variable in golf swing app accuracy is not which app you bought, it is whether your phone is in the same place it was last time. Mark the floor with tape. Two crosses, one for the tripod feet, one for your ball position. That tape does more for your data quality than upgrading from the free tier.
For a broader comparison of how these tools handle the same swing across their full feature sets, I’ve covered the head-to-head in AI Swing Analysis Apps, Tested on the Same Swing.
So what do you actually practise?
This is where the measurement discipline pays off, because it changes which feedback you should act on.
Act on the stable stuff. If your head-movement number moves from 1.2 inches to 3.4 inches over six weeks, that is real, because the noise floor on that metric is under half an inch on a decent clip. Same for hip depth change: a 2-inch swing in that number is signal, and early extension is one of the most common faults among 12 to 20 handicaps, so it is worth having a metric you can trust on it. Drill it with a chair or an alignment stick behind your backside and re-film every two weeks from your taped tripod position.
Ignore the composite scores entirely. A 14-point swing on identical footage means the score is a weighted blend of measurements with wildly different reliability, and the unreliable ones drag the whole thing around. Nobody has ever hit a better 7-iron because their app score went from 71 to 76.
Wrist stuff wants a sensor or a coach. If your miss is a high right block or a smothered pull and you suspect lead wrist extension, the video app cannot see it well enough to help. Either buy the sensor, or book a lesson and have a human with a trained eye look at your impact position. A £45 lesson resolves it faster than three months of squinting at a number with 11° of noise in it.
Tempo is free money. Because it is the most reliable output across every tool tested, you can practise it with actual feedback. Three-to-one is the tour average and it is a reasonable target. Most club golfers I’ve filmed sit between 2.4:1 and 2.8:1, which means the downswing is rushed relative to the backswing. Count it, film it, watch the ratio move.
One more habit worth building. Every time you record a session, record a reference swing: same club, same tempo, nothing fancy. When you upload next month’s session, upload the old reference clip alongside it. If the app reports a different number for a clip it has already seen, you know a model update has moved your baseline and the comparison is void. Two minutes of work that protects six months of data.
The apps are getting better at this, quickly. Sportsbox’s sub-degree repeatability on controlled footage was not achievable on a phone three years ago. But the gap between “this app can measure an angle” and “this app can measure an angle the same way twice, from footage you shot in a car park in January” is still wide, and it is the gap your practice plan lives in.