projects / sports22 October 2026
Claude as a Tennis Coach
We built a pipeline that turns any tennis video into precise measurements of how a player hits their serves, forehands and backhands. We ran it on 11 ATP pros, on myself and on my friend Richard Pham, and asked Claude what we should fix. It gave me coaching advice I wish I had received a long time ago.
Introduction
Nico and I both love sports. Nico was a professional dunker and was already famous before creating Shortcut. Two kids later, he is still freakishly athletic and still posts on the weekends. I am not nearly as athletic, but I grew up playing tennis competitively, and two years ago, before I had two kids, I was still competitive (>9 UTR, 5.0 NTRP). Both of us are still students of the games we love, and are looking to improve even as parents over 30. It would be wonderful if we could get expert advice that's personalized to our level and circumstance.
To the best of my knowledge, sports analytics has not been revolutionized by AI. We find this surprising. Deep, personalized analytics is insanely valuable to anyone trying to get better, amateur or pro. Also, models were already superhuman a year ago at digging through large, complex datasets, and they keep getting better. So clearly, we need to explore what's possible.
In any sport, we often stagnate because it is difficult to be aware of our own movements, and tough, both physically and emotionally, to escape the local maxima of our bad habits. This is why coaches are so valuable. But finding a good coach is hard, even if you can afford it ($150 / hour for tennis in the Bay Area for anybody legit), because a good coach has to correctly diagnose each student’s problem and fit the fix to that student.
For example, athletes with great self-awareness often only need simple “Miyagi-like” one-liners. For a tennis serve, “imagine you are chucking your racquet at the ball and then catching it when you are making contact”. Coaching too prescriptively runs the risk of pigeon-holing without allowing the athlete to discover what works best for him. For beginners, though, high-level tips are often too abstract. I tried it with my wife (I don’t recommend coaching your spouse). She needed much more descriptive language (“your wrist should pronate and snap like so”) and precise drills (throwing a football with curve and depth) to get the feel. And good tone.
As an aside, this mirrors how prompting has changed. A year ago we prompted imperatively, with chain-of-thought, few-shot examples and step-by-step instructions enumerated for each case. Now, as models have gotten better, those tricks hurt, and the best prompts are declarative: they provide the setting, state the goal, and get out of the model’s way. While Claude and other agents lack the human touch, they are patient, available, and can be iteratively refined to personalize recommendations at a desired level of abstraction and detail.
So we need to figure out if Claude can be that coach. And the best domain for me to assess Claude's coaching abilities is tennis, because I can evaluate good coaching from bad.
Measuring Strokes
Coaching encapsulates many, many facets in the beautiful game of tennis. It spans the mental (Timothy Gallwey's Inner Game of Tennis1), the tactical (Brad Gilbert's Winning Ugly2), the physical, the technical, and everything in-between. I think AI-assisted analytics can revolutionize every one of these dimensions. For the scope of this article, I chose the most vain and lowest-hanging fruit of them all: the technical. There's no shortage of Fed imitators out there in the wild.
To judge my strokes, I need to know what good strokes look like, so obviously, I look to what the best players in the world do. I handpicked 11 current pros, mostly based on their popularity (and notoriety). But the pros don’t all do the same thing. Tiafoe’s and Medvedev’s forehands look nothing like Djokovic’s (Figure 2). And yet, all of them meet the ball at roughly the same place relative to their bodies upon contact.
In other words, in some dimensions, their strokes vary a lot, and in others, very little. I call each of these dimensions a trait: one measurable aspect of one stroke at a key moment, like how far the shoulders have turned at contact. High-variance traits could be harmless style, or they could be the best fit to each player's build. For now, I can't tell these apart, and all the spread shows is that a wide range of mechanics work. But low-variance traits are always crucial, because the pros agree on these despite all that variety. And if my strokes fall outside of the range of values occupied by the pros, something is probably not right.
To analyze stroke biomechanics, Claude would ideally get the player’s joint positions with the start, contact and end of the stroke marked, plus its context: where the player stood, how fast the ball came in and where the opponent was, and what happened next, such as how fast the ball went out and who won the point. But broadcast video is anything but that. The camera cuts between angles and replays, ball kids and line judges move around the court, and nothing is labeled.
To get there, I pipelined a series of open-source models, mostly CNNs and vision transformers, that were specifically post-trained on tennis data. It cuts each broadcast down to live play, finds the players, the ball and the court lines, and labels every stroke with its type and the player’s skeleton (Figure 3). I chose each model by testing it against alternatives on hand-labelled footage (Methods: Benchmarks). It's also not hard to label your own data and train your own data for all of these, but that's another topic for another time.
| step | job | model | runs on |
|---|---|---|---|
| download | fetch the match from YouTube | — | CPU |
| find cuts | split the video at camera cuts | PySceneDetect3 | CPU |
| keep live play | keep shots that show the whole court | TennisCourtDetector4 | GPU |
| strokes | every hit and its stroke type | F3ED5 | GPU |
| detect people | a box around every person, every frame | RF-DETR6 | GPU |
| detect ball | the ball, every frame | WASB7 | GPU |
| detect court | the court lines, every 10th frame | TennisCourtDetector4 | GPU |
| skeletons | 65 joints of each player at the near end | RTMW-x8 | GPU |
| track people | link each person's boxes across frames | ByteTrack9 | CPU |
| find players | the person playing at each end | — | CPU |
| name players | read the scoreboard | Opus | API |
From the skeletons, I then computed each trait from the joint positions at its key moment. For example, one serve trait is how straight the tossing arm is at the top of the toss, measured as the elbow angle (180° is fully straight).
Choosing the traits took most of my time. Claude proposed the first candidates, many more than we kept, and we refined them over many rounds through a series of sanity-checks, suggestions and feedback. This was the tedious part that relied a lot on human judgment, but thankfully, it only has to be done once, because the traits by definition carry over to any new player or recording.
Figure 4 shows how each player, the 11 pros and Richard and I, differs from each other, trait by trait. This is quantified in a heatmap in which rows are traits, columns are players, and colors measure how different a player's stroke trait is against the median. You can click the squares to see five examples of that player's strokes as well as a joint analysis of the trait below.
A good trait had to pass three tests. First, it must allow players of diverse heights and builds to be compared against each other. If the "reach" trait was in meters, it would have just ranked players by height. So physical measurements must be normalized to the player's dimensions, such as their torso length. Second, it must stay relatively invariant to the camera's zoom, angle and tilt, and where the player stood. This is primarily done by filtering for traits that are more independent of camera angles, and then regressing these factors out of each trait. Lastly, each trait must be atomic. Toss arm height would be a bad trait because it mixes how straight the arm is, how far it leans in, and how high the shoulder lifts. These were decomposed into multiple atomic traits: toss arm straightness and toss arm in over head. Of the 55 traits we computed, 31 are in Figure 4; Table 1 lists 19 of the other 24 and why each was left out; the remaining five overlap with traits in Figure 4.
The pros
With the traits measured, I could now quantify how different each pro's strokes are from the other pros' via Z-scores (Figure 5; see Methods for how it is computed).
The serve is the most individual stroke. On average, a pro's serve differs from the others' about twice as much as his forehand or backhand does, probably because the server tosses his own ball, while a ground stroke has to answer whatever ball comes in. Tiafoe's serve is the most unusual of all, and nearly all of that is one trait, trophy shoulder tilt: at the top of the toss, his shoulder line tips 31°, where the other pros' tip about 100°.
The ground strokes are much more alike. The most unusual forehands are Shelton's and Paul's, and the most unusual backhand is Medvedev's. Shelton and Alcaraz are the only two whose forehand finish arm height is Nadal-like, high and over the hitting side of the body, and Medvedev's backhand finish is in a class of its own. The pros agree most on the forehand and backhand stance angle and on backhand contact out to the side. Those are the traits where falling outside the pros should worry me most.
The amateurs
Richard and I are a long way from the pros. I was 9 UTR two years and two kids ago. Richard was >13 UTR, playing for Columbia, a top-10 Division I program. The top-10 pros are around 16 UTR. For reference, a player rated one point higher is expected to win 8 or 9 times out of 10, so I am seven quantal levels below the pros, and Richard used to be three (as a corollary, Richard predictably and routinely kicks my ass).
We filmed ourselves rallying with a phone behind the baseline and ran the clips through the same pipeline (see Methods for how the phone footage was corrected). Figure 6 shows every trait we could measure for both of us against the pros. Seven traits are excluded because they were sensitive to recording positions: our phone sat lower, closer to the court and more to one side than a broadcast camera.
My forehand is where I differ most from the pros. I meet the ball further out to the side than any pro, with my shoulders less open to the net, and my forward swing takes longer. My guess is that all three come from hitting the ball late. Richard's forehand, on the other hand, is inside the pros' range on everything except for two traits: his contact is also out to the side, and his take-back is further out to the side than any pro's.
On the backhand we share a problem: both of us meet the ball further from the body than any pro. Among the pros, backhands hit further from the body more often end in unforced errors, so this may be worth fixing. Richard's front foot also steps across a little less than any pro's, and his head moves more.
On the serve, we both lean the trunk further than any pro: 36° for me and 31° for Richard, against at most 28° for Alcaraz and Shelton. Richard also takes a little longer from toss to hit than the slowest pro.
Claude's analysis
I then fed all these measurements to Claude with a blank context, and asked it what Richard and I should each work on. Figure 7 is its answer, edited for length.
Forehand
You turn, but you don't rotate through.
The take-back turn is pro-level (109° vs. 105°). What follows isn't:
- Your chest is still sideways at contact: shoulders open 52° vs. 81°, less than all eleven.
- You reach for the ball: contact is further out to the side than every pro's (1.38 torsos vs. 0.96).
- A small take-back feeds a slow forward swing (0.30 s vs. 0.17 s, slower than all eleven), so you guide the ball instead of accelerating through it.
FixLet the chest drive the swing until it nearly faces the net. Take the racquet back further so the forward swing can be short and fast, and meet the ball closer to your body and further in front.
Backhand
Straight arms, swinging up instead of through.
Preparation and footwork are fine. The arms aren't:
- Take-back: arms locked and racquet flat at the back fence, bigger than every pro's. The pros bend the elbows and keep the racquet head up.
- Contact: arms still straight (148° vs. 111°), with the ball further out to the side than every pro's.
- Swing: the racquet drops low and comes almost straight up, slower than all eleven (0.27 s vs. 0.16 s), to the highest finish of all twelve. The pros wrap over the shoulder with bent elbows.
FixBend the elbows a little and keep the racquet head up. Hit the ball just in front of the front hip, and swing through to finish over your right shoulder, not at the sky.
Serve
You fall sideways instead of going up and forward.
- Trunk lean at contact is 36° toward the tossing side, the most of all twelve (pros 21°).
- The likely cause: your toss drifts over your head (toss arm 19° in vs. 9°), so you bend sideways to reach it.
FixToss further in front and slightly to the hitting side, about a metre inside the baseline, and practise landing inside the court.
In order
Forehand first (the most-used stroke, and the clearest gap), then the serve toss, then the backhand. Re-film in a few weeks and check that the forehand numbers move toward the pros.
Backhand
No coil, so the arms do everything.
- Your hips and shoulders turn less than any pro's in the take-back (hips 43° vs. 80–128°).
- Contact is far out to the side (0.72 torsos vs. 0.23–0.49), with straighter arms than any pro's.
- The take-back is very wide and the swing slow (0.30 s vs. 0.10–0.21 s).
- Your head moves more than any pro's around contact.
- The front foot steps straight at the net instead of across (85° vs. 49–83°).
FixTurn the hips and shoulders together until your back is partly to the net, and step across. Meet the ball off the front hip with bent arms and a still head.
Serve
Too much sideways lean, too little height.
- Your trunk leans 31° sideways at contact, more than all eleven (13–28°).
- Contact is lower than all (3.61 torsos above the ankles vs. 3.65–4.13).
FixKeep the trunk upright and drive up toward the ball.
Forehand
A wide take-back and contact far from the body.
- The take-back and contact are both further out to the side than any pro's (contact 1.28 torsos vs. 0.59–1.09).
- The base is narrower than all eleven (feet 0.59 torsos apart sideways vs. 0.68–1.14).
- The low, wrapped finish is within the pros' range, like Rublev's.
FixKeep the racquet behind you, not out to the side, let the ball come closer, and widen the base.
In order
Backhand first, since it is furthest from the pros, then the serve, then the forehand, which needs the same idea of keeping everything closer to the body. Re-film in a few weeks to check.
Earlier I wrote that a good coach has to diagnose each student's problem and pitch the fix at the right level. What I like about Claude's advice is that it covers the whole range of levels. It starts with how my mechanics differ from the pros', trait by trait and with numbers. It then joins several of these differences into one diagnosis per stroke: on my forehand, contact out to the side, shoulders closed at contact and a slow forward swing all come from guiding the ball with my arms instead of rotating through it, and on my serve, the trunk lean and the toss arm both come from a toss that drifts over my head. Finally, it ranks what I should work on, the forehand first, then the serve, then the backhand.
Claude did not know this, but it successfully recognized my weaker side (forehands) as well as Richard's (backhands), and prioritized fixes to them. Also, my own diagnosis of my forehand's issues was wrong, and Claude's diagnosis makes a lot more sense to me. So after iterating with it to provide a robust and rich set of features, it was able to join differences in multiple traits that look separate into root causes, and also provided very apt fixes to these issues.
I'm personally going to be an enthusiastic customer of this pipeline, and will be using it to chart my improvement over time.
Next steps
In an ideal world, everyone who loves a sport, from a kid at the local park to a weekend player in their fifties, would have a coach who watches their practices and matches, knows their game better than they do, and tells them the most important things to work on next. A phone camera, open-source models, and LLM's judgment already got us very far along this goal.
This post covered only one part of coaching: stroke technique. The same footage holds much more. For example, we can do the same analysis for footwork and fitness, which, for the large majority of amateur players, is more important than technique. We can also analyze the mental aspects of tennis, and quantify how behavior and demeanor in-between points affect performance.
None of this is specific to tennis. We are also open to other sports, especially golf (my parents are golf nuts, and it'd be fun to keep fueling their addiction). Reach out to [email protected] if you would like to partner with us, or want this kind of in-depth analysis for yourself or your team.
Methods
z score. Each square in Figure 4 compares one player's typical stroke with the other pros' on one trait. We take the player's median over all his strokes, subtract the median of the other pros' medians, and divide by how much a player's strokes typically vary from one to the next on that trait (the stroke-to-stroke standard deviation, averaged over the pros). Peter and Richard are compared with all eleven pros.
How different. Figure 5 sums up a player's z scores on one stroke as one number: square each z, average them over the stroke's traits, and take the square root (the root mean square).
Players. This list only included players with two-handed backhands, as we're already in the low data regime with 11 players, so I can't say anything about one handers, or backhands as an umbrella.
Strokes kept. A forehand or backhand counts only when the hitting wrist is on the matching side of the body at contact. This removes the strokes the stroke model calls the wrong way round, which it does often on left-handers such as Shelton. Feeds are removed too: a stroke counts only if the ball is not seen above the hitter's head in the second before contact.
Lengths. Every length is in the player's own torso lengths (mid-shoulder to mid-hip), so a tall player's long reach is not taken for style. Distances on the court are mapped into metres through the court lines, then divided by the player's torso in metres.
Camera. Before the pros are compared, the measured camera (zoom, angle, tilt, where the baseline sits in the picture, picture quality, the player's height on screen), the event (Australian or US Open) and the situation (where the player stood, how fast he ran, the shot's direction) are regressed out of each trait, with their effects estimated within each player so that a player's style is not taken for the camera. A trait is left off the heatmap when the camera still explains 10% or more of a player's stroke-to-stroke spread. The exceptions are the forehand and backhand stance angles (23% and 20%), most of which comes from how clearly the pose model sees the feet. We also kept four traits on both ground strokes that the camera moves by up to 19%, to look at them: contact height, shoulder turn, hip turn and shoulders open at finish.
Our footage. Peter and Richard were filmed with a phone behind the baseline, lower and closer than a broadcast camera. The two cameras don't overlap: the far baseline looks 0.22 to 0.25 as wide as the near one on the phone, against 0.51 on TV. So the broadcast's camera effects can't be carried over to the phone. Instead we measured how differently the two cameras see the body. A camera looking down shortens anything upright, so a torso looks shorter, for the player's height, the higher the camera. On TV, the pros' torsos measure 0.27 to 0.28 of their listed heights; on the phone, ours measure 0.31 to 0.32 of our own. The difference is the camera, not our builds: Peter and Richard agree with each other and sit outside every pro. Before measuring our strokes, we shrink our skeletons' heights in the picture until our torso-to-height ratio matches the pros' (dividing by 1.15 to 1.22). This corrects every length out to the side, which is counted in torso lengths, and every angle from upright. It can't correct anything pointing toward the net, which a lower camera sees less of, so traits that depend on that (heights and angles measured up and down the picture) are still left out for us. So is hip turn. We read a turn from how wide the hips or shoulders look across the picture, which assumes a camera looking straight down the court. Our phone sat off to one side and sees the court at a slant, so hips pointing at the net still look wide. The shoulders are further apart and steadier, so we kept their turns, though they may read a little low for us too.
Coaching. Claude (Opus 5.5) was started in a new session with no memory and asked what coaching advice it would give me. It read the measurements of the pros and of us, and the lists of traits left off the heatmap. After I asked it to look at my backhand, it watched clips of our strokes and revised its advice. The advice above is its text after that.
Traits left out
| Trait | Stroke | Why it is left out |
|---|---|---|
| elbow at contact | Forehand, backhand | A forearm pointing at the net is foreshortened and looks bent. |
| take-back shoulder turn | Forehand, backhand | Measured as the forward swing starts, after the shoulders have begun to unwind; the heatmap shows shoulder turn at its most turned instead. |
| hip-shoulder sep. | Forehand, backhand | From behind, the two hip points are close together and jittery. |
| shoulder tilt | Forehand, backhand | The camera explains 23% of the stroke-to-stroke spread. |
| knee angle | Forehand, backhand | The camera explains 17% and 25% of the stroke-to-stroke spread. |
| feet apart | Forehand, backhand | Depth on the court is squashed when seen from behind. |
| stance width | Forehand | The camera explains 23% of the stroke-to-stroke spread. |
| stance forward | Forehand, backhand | Depth on the court is squashed when seen from behind. |
| wrist speed | Serve, forehand, backhand | The swing toward the net runs along the camera's line of sight, so most of its speed is unseen. |
| into court | Serve | The camera explains 26% of the stroke-to-stroke spread. |
Footage
| Player | Matches | Minutes | Serves | Forehands | Backhands |
|---|---|---|---|---|---|
| Carlos Alcaraz | 4 | 105 | 150 (133) | 146 (87) | 91 (60) |
| Novak Djokovic | 7 | 179 | 220 (166) | 221 (126) | 189 (96) |
| Taylor Fritz | 3 | 97 | 174 (139) | 206 (125) | 157 (92) |
| Nick Kyrgios | 4 | 87 | 146 (112) | 144 (84) | 128 (78) |
| Daniil Medvedev | 5 | 118 | 147 (107) | 152 (93) | 228 (125) |
| Tommy Paul | 4 | 119 | 145 (77) | 200 (94) | 153 (98) |
| Andrey Rublev | 3 | 92 | 165 (120) | 123 (76) | 114 (69) |
| Ben Shelton | 7 | 168 | 302 (234) | 255 (157) | 96 (58) |
| Jannik Sinner | 4 | 93 | 126 (101) | 123 (67) | 143 (98) |
| Frances Tiafoe | 7 | 200 | 294 (242) | 222 (127) | 224 (136) |
| Alexander Zverev | 6 | 114 | 124 (82) | 118 (65) | 142 (90) |
Benchmarks
We chose each model by scoring it, and the strongest alternatives, on public test sets labelled by hand. Most of these are broadcast frames from other matches, and the skeleton labels come from close-range, self-recorded images, so they rank the models more than they measure how accurate each one is on our videos. Finding the people and placing their joints matter most here, because every trait is read from the skeleton.
| Detector | Far player found | Near player found | Seconds per frame |
|---|---|---|---|
| RF-DETR Medium (used) | 100% | 100% | 0.025 |
| RF-DETR Large | 99.5% | 100% | 0.024 |
| YOLO11m | 98.5% | 100% | 0.030 |
| RT-DETRv2 | 65% | 96% | 0.070 |
| RF-DETR Keypoint, with a second pass on the far half | 40% | 90% | 0.096 |
| Model | Tennis, all | Forehand | Backhand | Serve | Feet | Crops per second |
|---|---|---|---|---|---|---|
| RF-DETR Keypoint | 0.773 | 0.746 | 0.768 | 0.796 | — | — |
| ViTPose-Plus-Huge | 0.824 | 0.808 | 0.798 | 0.890 | — | 438 |
| RTMW-x (used) | 0.855 | 0.819 | 0.830 | 0.911 | 0.833 | 490 |
| Sapiens2 0.4B | 0.865 | 0.833 | 0.846 | 0.931 | 0.871 | 20 |
| Sapiens2 1B | 0.868 | 0.835 | 0.849 | 0.934 | 0.885 | 7.5 |
| Step | Model | Test set | Result |
|---|---|---|---|
| detect court | TennisCourtDetector | 100 broadcast frames from its held-out split, 14 line crossings each | 95.6% of points within 7 pixels; median error 1.9 pixels |
| detect ball | WASB | 100 broadcast frames from TrackNet's test games, 20 of them without a ball | F1 0.886 within 4 pixels and 0.962 within 10; median error 2.1 pixels; a ball claimed on 2 of the 20 empty frames |
| find players | court position | 195 of the frames in Table 3, everyone on court labelled | the right players on 99.0% of frames |
| track people | ByteTrack | one 34.5-second rally from the US Open, no labels | near player kept in 92% of frames, far player in 98%; SAM 3's video mode kept them in 81% and 34%, and switched identities 3 to 5 times as often |
After the article went out, people sent us their own matches. We ran them through the same pipeline, set them against the same 11 pros (Figure 8), and gave Claude each player's measurements with a blank context, asking what they should fix. Its answers are below, unedited.
Serve
Toss it up, not over your head
Your tossing arm swings in over your head, so the ball drifts to your far side. You then have to bend sideways to reach it, and that bend costs you height and power.
- Your tossing arm ends well across your head; the pros' arm goes nearly straight up.
- At contact you lean sideways a lot more than the pros do, and your hips slide toward your hitting side to make room.
FixToss without hitting the ball. Let the arm go straight up and stop pointing at the sky. The ball should land just in front of your hitting shoulder. Once it lands there most of the time, add the swing back in.
Forehand
Turn first, then swing short and fast
You don't turn your shoulders much, and your racket goes back behind you instead of out to the side. From there the forward swing has a long way to go, so it's slow to reach the ball.
- You turn about two-thirds as far as the pros before swinging forward.
- Your forward swing takes about twice as long as theirs, roughly 0.4 of a second against under 0.2.
FixAs soon as you read a forehand, turn so your back faces the side fence and your racket sits out to the side, away from your body. Pause there for a beat in feeding drills. Then make the forward swing feel short and quick.
Backhand
Swing through, finish over your shoulder
Your backhand already has a good contact point, and your shoulders are right where they should be when you hit. The difference is the finish. You pull the racket straight up instead of out and across, and your head moves a lot through the hit.
- Your hitting arm finishes pointing almost straight up; the pros' arm wraps across to shoulder height.
- Your head moves almost twice as much as theirs around contact.
FixFinish with your hands over your opposite shoulder and the racket wrapped behind you. Hold that finish for a count of two while your eyes stay on the spot where you hit the ball.
In order
Work on the forehand turn first. It's the biggest gap in your game, it slows down every forehand you hit, and you can feel the change in your very first session.
Serve
Good toss, but your hips drift sideways
Your toss, timing and body lean already look like the pros'. The one thing that stands out is your hips: at contact they slide out toward your hitting side, while the pros push theirs the other way, under the toss and into the court.
- Toss placement and toss-to-hit rhythm are right in the pro range.
- Your hips end up on the opposite side from where the pros' hips go, and that's a big gap even allowing for the camera angle.
FixAt the top of the toss, push your hips gently toward your tossing side and up into the ball, like you're bowing the body under the toss. Practise slow-motion serves holding that bow for a second before you swing.
Forehand
Turn your chest through the ball
Your shoulders are still mostly sideways when you hit, and they never fully come round at the finish. So your arm does the work on its own and has to reach for the ball, which costs you pace and control.
- At contact your shoulders are less than halfway turned to the net; the pros are almost square.
- You meet the ball farther from your body and take the racket back wider than any of the pros.
FixShadow swings, then rally balls: make your chest face the net by the time you hit, and finish with your back shoulder pointing at the net. Let the turn pull the arm through instead of swinging the arm on its own.
Backhand
Let the ball come closer to you
You meet the backhand a long way out from your body, more than twice as far as the pros. Reaching like that pulls your finish up and away instead of through and across, so the shot is harder to control.
- Your finish varies a lot from shot to shot, often ending high and out to the side instead of across your body.
- Your swing speed and shoulder turn going back are already close to the pros'.
FixIn a feeding drill, set up so the ball arrives just a step closer than feels natural, hit it nearer your front hip, and hold a finish that wraps around your body. Freeze for a second each time to check where the racket ends up.
In order
Work on the forehand turn first: you hit the most forehands, and getting your chest through the ball will also fix the reaching.
Serve
Lift the toss arm straight up
At the top of your toss, your tossing arm leans well across over your head instead of reaching straight up. That pulls the ball and your body around, so you end up hitting from a crooked position.
- Your toss arm leans in about four times more than the pros' does.
- At contact your hips drift toward your hitting side, while the pros' hips push the other way, into the court.
FixToss beside a fence or a wall on your tossing side. Let your arm go straight up along it, and hold it there pointing at the ball for a moment before you swing.
Forehand
Turn your shoulders, not just your arm
You take the racket back mostly with your arm, out wide to the side, while your shoulders stay fairly open to the net. So the forward swing has a long way to travel with the arm alone, and it takes more than twice as long as the pros' swing. That costs you both power and timing.
- Your shoulders turn about two-thirds as far as the pros' do before you swing.
- Your hand goes back much further out to the side than theirs does.
FixOn the take-back, point your free hand at the side fence and show your back to the net. Keep your racket hand closer to your body, then let the shoulders unwinding pull the racket through. Practise this in slow shadow swings, then on easy feeds.
Backhand
Stay sideways longer into contact
Your backhand is close to the pros in where you meet the ball and how you finish. But you don't turn far on the take-back, and your chest is already facing the net when you hit. So you're swinging with your arms rather than turning into the ball.
- Your shoulders turn a bit over half as far as the pros' do before the swing.
- At contact your chest is nearly square to the net, while theirs is still partly sideways.
FixTurn until your front shoulder is under your chin before you swing. Try to keep it there as you hit, so your chest only opens up after the ball has left the strings.
In order
Start with the forehand shoulder turn: it's your most-used shot and the biggest gap, and the same habit of turning more will carry straight over to your backhand.
Serve
Serve is close; stand a bit taller
Your toss and timing look like the pros'. At contact you bend sideways at the waist more than they do, and your hips stay over your feet instead of drifting over with you.
- Toss height and toss-to-hit timing are right in the pro range.
- You lean noticeably more than most pros at contact.
FixAs you reach up, let your hips drift forward toward the court and stay tall through your chest, rather than folding at the waist to get to the ball.
Forehand
Shorten your forehand take-back
On the take-back your racket hand ends up behind you, on the far side of your body, instead of out to your side. That makes the swing long. Yours takes almost twice as long as the pros' to reach the ball, which leaves you late and rushed on quicker balls.
- You turn your shoulders well past side-on, much further than the pros.
- Your stance, contact and finish height are already in good shape.
FixOn the take-back, keep your racket hand out to your side where you could still see it from the corner of your eye. Stop turning once you're side-on. Rally at half pace until that shorter loop feels natural.
Backhand
Turn less, swing quicker on backhand
Your backhand take-back is in a good spot, but you turn your shoulders further away than the pros and the swing takes longer to get to the ball. You also finish a bit high rather than letting the racket come around.
- Your forward swing takes almost twice as long as the pros'.
- Stance, contact and head stillness already look good.
FixTurn until your front shoulder is just under your chin, no further, then swing. Let the racket finish around over your shoulder instead of stopping high in front.
In order
Work on the shorter, side-on forehand take-back first. It's the biggest gap and you hit that shot the most.
Serve
Get your toss arm reaching straight up
At the top of your toss, your tossing arm leans way in over your head instead of reaching straight up. That pulls the ball over or behind you, so you have to bend sideways a lot to reach it.
- Your toss arm leans in far more than any of the pros we compared you to.
- You tilt sideways at contact more than the pros do, which looks like you're chasing that toss.
FixToss so your arm finishes pointing straight at the sky, a little in front of you. Practise tosses without hitting, letting the ball drop onto a racket lying just in front of your front foot.
Forehand
Turn your shoulders, not just your arm
On your take-back your shoulders don't turn very far, so your arm swings out wide to make up for it. That wide loop makes your forward swing slow, so you're often late.
- Your swing to contact takes almost twice as long as the pros' swing.
- Contact point and finish are already close to the pros, so the problem is the preparation.
FixAs soon as you see it's a forehand, turn your shoulders with your other hand on the racket until your front shoulder points at the ball. Keep the racket close to your body as you turn. Feel your back facing the side fence before you swing.
Backhand
Step in and stay side-on
On your backhand your feet are wide open and your chest is already facing the net when you hit. Without that sideways turn you hit mostly with your arms, and the swing is slower and less solid.
- The pros step their front foot toward the ball; you mostly don't.
- Your shoulders are well past square at contact, while the pros are still partly sideways.
FixStep your front foot forward and across toward the ball, and keep your chest facing the side fence until just after you hit. Rally slowly and say "step" out loud each time you set up.
In order
Fix the serve toss first: it's the biggest difference we saw, it's quick to practise on your own, and every point starts with it.
Serve
Keep your toss arm reaching straight up
This is only a first look, from three serves. Your tossing arm drifts in over your head instead of reaching straight up, which can pull the ball behind you and make you wait for it.
- You take longer from the top of the toss to contact than the pros do, which fits a toss that's drifting.
- Your body lean at contact already looks like the pros', so the rest of the shape is fine.
FixToss with your arm reaching straight up toward the sky, and hold it there for a beat. Practise 20 tosses without hitting, letting the ball drop. It should land just in front of your front foot.
Forehand
Shorter, faster swing into the ball
Your forward swing takes about twice as long as the pros'. A long, slow swing costs you pace and makes your timing harder against fast balls.
- At the end of your take-back the racket sits close to your body instead of out to your side. That means it has a long way to travel.
- Your shoulder turn and your finish already look like the pros', so the turn is there. It's the swing that drags.
FixGet the racket set back and out to your side early, then make one quick, short hit through the ball. Rally at three-quarter pace thinking 'set early, then snap'.
Backhand
Swing through, finish over your shoulder
Your backhand swing is slow, and your finish stops high with the arm pointing up. The pros swing faster and wrap the racket around to the other shoulder.
- Your contact point and your shoulder turn are close to the pros', so the setup is good.
- Your swing takes about twice as long as theirs from the end of the take-back to contact.
FixLet the racket keep going after contact until it finishes over your opposite shoulder. Drop-feed 20 backhands and hold that finish on each one for a second.
In order
Work on the forehand first: setting the racket early and swinging short and fast will help on most of the balls you hit.
Serve
Put the toss over you, not beside
Your toss drifts out to the side, so you bend sideways to reach it instead of going up at it. You also hit it very soon after it leaves your hand, which usually means a low toss and a rushed swing.
- You lean over more at contact than any of the pros, and your hips slide away from the ball.
- The ball is in the air about half as long as theirs before you hit it.
FixToss without hitting and let it drop. It should land just inside your front foot, slightly into the court. Toss a bit higher than now, and reach up to it with your tossing arm pointing straight at the sky.
Forehand
Solid base, just turn a bit more
Most of your forehand already looks like the pros': your stance, where you meet the ball, and your finish are all in their range. The one gap is the turn. You don't quite get side-on before you swing, so the swing has to be pushed with the arm and comes through slower.
- Your shoulders stop short of side-on, while the pros turn past it.
- Your forward swing takes noticeably longer to reach the ball.
FixAs the ball comes, turn until your free hand points at the side fence and your chin touches your front shoulder. Then let the body unwind to pull the racket through.
Backhand
Stay sideways longer on the backhand
You hardly turn on the backhand, and by contact your chest is already facing past the net. The pros are still mostly side-on when they hit. Opening up this early takes the power and control out of the shot and makes the swing slow.
- Your feet are set facing the net, where the pros step in more sideways.
- At contact your chest has turned well past the net, while theirs is still side-on.
FixShadow swing with your back shoulder turned toward the net, so the net is over your shoulder. Hit and freeze. At contact your chest should still face the side fence. Then try it on easy fed balls, stepping toward the side fence as you go.
In order
Work on the backhand turn first, because it is the furthest from the pros and fixing it should make that swing faster and cleaner on its own.
References
- Gallwey, W. T. The Inner Game of Tennis. Random House (1974).
- Gilbert, B. & Jamison, S. Winning Ugly: Mental Warfare in Tennis. Birch Lane Press (1993).
- Castellano, B. PySceneDetect: video cut detection and analysis tool. GitHub (2014).
- Kosolapov, S. TennisCourtDetector: deep learning network for detecting tennis court. GitHub (2023).
- Liu, Z. et al. F3Set: towards analyzing fast, frequent, and fine-grained events from videos. ICLR (2025).
- Robinson, I., Robicheaux, P., Popov, M., Ramanan, D. & Peri, N. RF-DETR: neural architecture search for real-time detection transformers. ICLR (2026).
- Tarashima, S., Haq, M. A., Wang, Y. & Tagawa, N. Widely applicable strong baseline for sports ball detection and tracking. BMVC (2023).
- Jiang, T., Xie, X. & Li, Y. RTMW: real-time multi-person 2D and 3D whole-body pose estimation. arXiv:2407.08634 (2024).
- Zhang, Y. et al. ByteTrack: multi-object tracking by associating every detection box. ECCV (2022).
Cite this
Wang, P. & Christie, N. Claude as a Tennis Coach. off policy (2026). https://offpolicyinc.com/work/claude-tennis-coach/
@misc{wang2026claude,
author = {Wang, Peter and Christie, Nico},
title = {Claude as a Tennis Coach},
year = {2026},
howpublished = {off policy},
url = {https://offpolicyinc.com/work/claude-tennis-coach/}
}