How to film your tennis serve so an app can actually read it

· 6 min read

Most bad serve analyses are not bad models. They are bad footage. A pose model has exactly one input, and if your reach is cropped off the top of the frame there is no algorithm on earth that can tell you your contact height.

Here is what actually matters, in order of how much damage it does when you get it wrong.

1. Side-on, not behind

Film from the side — perpendicular to the direction you are serving, level with the baseline or slightly behind it.

This is not aesthetic preference. It is about which angles live in the camera plane. Knee flexion, elbow angle, shoulder-line tilt and contact reach all happen in a vertical plane that a side-on camera sees directly. Shoulder and hip rotation happen around the vertical axis, which a side-on camera sees only as things getting narrower.

That distinction is why FormCourt measures shoulder tilt and merely estimates body coil. Filming from behind flips it: you would see rotation and lose every angle that matters more.

2. Hip height, not eye height

Rest the phone against a bag, a ball hopper, or the bottom of the fence. Roughly hip height.

Filming from eye height points the lens slightly down, which foreshortens your legs and quietly shrinks every knee measurement. Hip height puts the optical centre near the middle of the motion, so the error is distributed instead of piled onto your loading phase.

3. Far enough back that your reach fits

The single most common framing failure: the player fits, the racquet at contact does not.

Stand where you serve and reach up as high as you can with the racquet. That is the top of the frame. Add a little. Roughly 4–5 metres back with a modern phone lens does it.

If the top of the reach is cropped, contact height cannot be measured, and contact height is one of the highest-signal numbers in the whole rubric.

4. 60 fps if you have it

Contact lasts about four milliseconds. You are never going to capture the impact itself, and you do not need to — what you need is enough frames around it to find the peak cleanly.

At 30 fps, the frames either side of contact are 33 ms apart and the racquet has moved a long way between them. At 60 fps the peak is far better defined. Both work. 60 is better, and it is a free setting change.

5. Light, and a background that isn’t you

Pose models struggle in three situations: low light, a background the same colour as your shirt, and other people walking through the frame.

Late-evening floodlit courts are the worst common case — the model does not fail loudly, it just gets noisy, and noisy joints become a suspiciously low score. FormCourt marks a serve PARTIAL when too few checkpoints come through cleanly, which is usually the light telling you something.

The two-minute checklist

  • Phone side-on, at hip height, leaning against something solid
  • Far enough back that racquet-at-full-reach is inside the frame
  • 60 fps if your phone offers it
  • Decent light, plain-ish background, nobody walking behind you
  • Serve normally — do not perform for the camera; a demonstration serve is not your serve

Do this once and every session after it is comparable. That is the actual point: a single serve score is a snapshot, but the same framing week after week turns it into a trend, and the trend is what tells you whether the thing you are working on is working.

Beta · wave 1

Score your own serve.

Eleven measured checkpoints, on your iPhone, nothing uploaded.

iPhone only · TestFlight invites go out in waves · No spam, unsubscribe in one click