Welcome back, Carlo

Fetching game library…

Viewing as
Win Rate
β€”
β€”
Avg Rating
β€”
Overall DUPR
Accuracy (In)
β€”
Shots in
Net Errors
β€”
Of all shots
Kitchen %
β€”
On serve
W / UE Ratio
β€”
Winners vs Unforced
Rating Over Time
Coaching Priorities
🎯
Upload games to see coaching tips
Recent Games
πŸ“‹
No games loaded yet
Weekly Practice Plan
πŸ“…
Upload games to generate practice plan
Rating Breakdown
Shot Accuracy
Forehand vs Backhand
Shot Selection
Serve Depth
Return Depth
Player
Outcome
In
Net
Out
Shot Types
Serve
Drive
Lob
Smash
Dink
Drop
Reset
Volley
Speed-up
Return
ATP
Erne
Other
Right-click (or long-press on mobile) to solo a chip
Display
Impacts
Origins
Traces
Color By
Outcome
FH / BH
Quality
Highlight
Retreating
Advancing
Lateral
High Stress
Errors
Put-aways
Winners
ATP/Erne
Dink Arcs
Symbol Size 6
Partner
Games
β€”
Select a player
100%
Shot
Outcome
In
Net (stops at net)
Out
Shapes
●◉✛⬥ Serve·Drive·Lob·Smash
■□▪ Dink·Drop·Reset
▲△ Volley·Speed-up
⊙ Return
Muted = origin (est.)
Filtered
Overall
β€”
⚑
Patterns
Rally Patterns

My Games Library

πŸ“‚
Drop PB Vision JSON files here or click to browse
πŸ“­
No games loaded yet.

PB Viewer β€” Help

PB Viewer visualizes your PBVision game data with coaching-relevant signals. Import your JSON exports, then use the Court Viewer and Dashboard to understand your patterns, track improvement, and identify areas to work on.

Court Layout

Full court shown
Both halves visible. Your side (left/bottom): muted origin markers showing where you were when you hit. Opponent's side (right/top): impact markers where the ball went. Impact positions are estimated by shot type β€” PBVision does not record ball landing coordinates.
Out-zone bands
Faint red bands outside the court boundary show where out balls land: past the far baseline (long), past right/left sidelines (wide). Direction is from real PBVision data when available.
Serve zone
A faint teal zone behind your baseline shows serve origins. Serves must land past the kitchen line β€” the service court is from the kitchen line to the far baseline.
Zoom and pan
Scroll wheel zooms toward cursor. Click and drag to pan. Pinch to zoom on iPad. The βŒ‚ button (bottom-right) resets view. Resize window edge to switch between portrait and landscape layout.

Shot Shapes (Symbology)

Each shot type is drawn as a unique shape so you can identify patterns at a glance. The legend panel (top-right of court) shows all active shapes.

● Serve
Solid circle. Appears in the service zone on your side (origin) and the service court on the opponent's side (impact).
β—‰ Drive
Bull's-eye (circle with inner dot). Drives are aggressive groundstrokes typically hit from the baseline or transition zone.
βœ› Lob
Cross-in-circle. Lobs go over the opponent's head β€” impacts land deep in their court.
⬟ Smash
Diamond shape. Overhead smashes hit with power, usually in response to a lob.
β–  Dink
Solid square. Soft shots landing in or near the kitchen. The most common shot in competitive play.
⬜ Drop
Square-in-square (nested). Third-shot drops and transition drops aimed at the kitchen from deeper positions.
β–ͺ Reset
Small square. Defensive resets to regain neutral position, typically absorbing pace.
β–² Volley
Filled triangle. Shots hit out of the air, usually at the net.
β–³ Speed-up
Outline triangle. Aggressive acceleration from the kitchen, trying to put the ball away.
β˜… ATP / Erne
Six-pointed star in orange. Around-the-post shots and erne shots β€” highlight plays that go around or over the net post.
Γ— Return / Other
X mark. Returns of serve and unclassified shots. Muted/smaller markers indicate origin positions.

Sidebar Controls

Player
Select which player to analyze. The shot count and game count update in the header bar. All stats, insights, and markers reflect the selected player.
Outcome filter
In (green) / Net (orange) / Out (red). Filters both impact and origin markers. Net impacts show projected landing location. Out impacts use actual direction data (long/right/left) when tracked.
Shot types
13 shot type chips: Serve, Drive, Lob, Smash, Dink, Drop, Reset, Volley, Speed-up, Return, ATP, Erne, Other. Click to toggle on/off. Right-click any chip to solo β€” isolates just that one type. Right-click again to restore all.
Display layers
Impacts β€” markers on opponent's half showing where the ball went. Origins β€” markers on your half showing where you were. Traces β€” faint lines connecting origin to impact for in-court shots, showing shot direction.
Color By
Outcome: green=in, orange=net, red=out. FH/BH: teal=forehand, purple=backhand. Quality: gradient from red (poor) to green (excellent) using PBVision AI quality scores.
Symbol Size
Slider (3–16 px) controls marker size on the court. Smaller sizes are useful for dense data sets; larger for spotting individual shots.

Highlight Overlays

Toggle-chips that add visual emphasis (dashed rings or glows) to matching markers on the court, helping you spot movement patterns and key moments.

Retreating
Red dashed ring. Shots where you moved away from the net more than 3 ft β€” indicates being pushed back or out of position.
Advancing
Green dashed ring. Shots where you moved toward the net more than 3 ft β€” transitioning forward or closing in.
Lateral
Purple dashed ring. Wide sideways reach more than 3 ft β€” stretched laterally to make the shot.
High Stress
Gold dashed ring. Any movement exceeding 6 ft β€” maximum-effort scramble shots regardless of direction.
Errors
Red ring. Highlights shots where the outcome was an error (net or out).
Put-aways
White ring. Shots that ended the rally successfully β€” put-away winners.
Winners
Gold glow. Clean winners β€” unreturnable shots that your opponent couldn't get to.
ATP/Erne
Bright orange highlight. Around-the-post and erne shots β€” rare, spectacular plays.
Dink Arcs
Switches to a 3D side-view showing dink and drop trajectories arcing over the net. See the Dink Arcs section below for full details.

Dink Arcs β€” 3D View

A 3D perspective showing the arc height of dinks and drops as they cross the net. Helps you see whether you're keeping the ball low (tight) or giving your opponent attackable balls.

Controls
Drag to rotate the 3D camera. Scroll to zoom in/out. The βŒ‚ button resets the view angle. The info bar at the bottom shows total dink and drop counts.
Position filter
Filter arcs by your court position: All positions, Left side, or Right side.
Direction filter
Filter by shot direction: All directions, Cross-court, or Down the line.
Shot type filter
Show Dinks & Drops combined, Dinks only, or Drops only.
Color modes
The dropdown and inline legend show what each color means. Net clearance: green=tight (<2ft), orange=mid (2-4ft), red=high (>4ft). FH/BH: teal=forehand, purple=backhand. Outcome: green=in, orange=net, red=out.

Game Selection

Partner filter
Chips at the top of the games panel show each partner with your win % when playing with them. Click to filter to only games with that partner.
Date bar chart
Each bar is one calendar month β€” height = games, green fill = wins. Click any bar to toggle that month on or off. The current (partial) month shows in amber with a ~ marker.
Rolling windows
Buttons above the chart: 1 wk, 2 wks, 4 wks, 8 wks, All. These select by exact date range regardless of calendar month, useful when you're partway through a month or want a quick recent snapshot.
Individual games
The scrollable list below the chart shows each game with score and W/L. Check or uncheck to include or exclude individual games from analysis.

Bottom Stats Bar

The resizable bar at the bottom of the Court Viewer. Drag its top edge to expand or collapse. Shows real-time stats for exactly the shots visible on court.

Filtered stats (left)
Shot count, win %, in %, net %, out %, FH/BH split (forehand vs backhand percentage), Rushed % (shots hit while moving >6ft β€” indicates scramble plays), and Kitchen %.
Middle tiles
Record (W-L for filtered games), Avg Rating, Accuracy % (shots in court), Kitchen % (arrival on serve), and a Shot Mix breakdown showing Drive, Dink, Drop, Volley, and Speed-up percentages as horizontal bars.
Overall (right)
Your overall record and rating across all selected games, separate from the filtered view. This stays constant as you toggle shot types.

Key Stats & Ratios Explained

W / UE Ratio
Winners Γ· Unforced Errors. Shown on the Dashboard as a decimal (e.g., 3.39). A ratio above 1.0 (green) means you're producing more winners than unforced errors β€” a hallmark of controlled, aggressive play. Below 0.7 (red) signals too many free points given away. The subtitle shows the raw counts (e.g., 95W / 28UE).
Accuracy (In %)
Percentage of all filtered shots that landed in the court. A core consistency metric β€” most competitive players aim for 75%+ accuracy.
Net Errors %
Percentage of shots hitting the net. Distinct from "out" errors. High net error rates on dinks suggest you need to lift the ball more; on drives, you may be aiming too low.
Kitchen %
Kitchen arrival percentage on serve β€” how often you reach the non-volley zone after serving. Higher is better; it means you're winning the transition game.
Rushed %
Percentage of shots hit while moving more than 6 ft. High values indicate you're frequently out of position and scrambling β€” a sign of positioning issues or opponent pressure.
FH / BH Split
Forehand vs backhand usage percentage. A balanced split (near 50/50) suggests good court coverage. A heavy lean toward one side may reveal a weakness your opponents are exploiting β€” or a strength you're favoring.
Quality Score
PBVision's AI-generated shot quality rating. Ranges from poor (red) to excellent (green). Used in the "Color By: Quality" mode and in several coaching insights.

Dashboard

The Dashboard gives you an at-a-glance overview of your performance across all selected games. Filter by time period: 2 weeks, 1 month, or all-time.

KPI Cards
Top row shows your headline numbers: Win Rate (W-L record), Avg Rating (DUPR), Accuracy (In), Net Errors %, Kitchen %, and W/UE Ratio with color coding.
Rating Over Time
Line chart tracking your ratings game by game. Shows sub-scores: Overall, Serve, Offense, Defense, Agility, and Consistency. Hover over data points to see exact values.
Coaching Priorities
Ranked list from PBVision's AI advice scores. Each priority shows a score out of 22 β€” higher means more frequently flagged. Color-coded borders: green = solid area, orange = needs attention, red = critical gap. These are sorted by frequency across all your games.
Recent Games
Your last games with date, score, W/L badge, partner name, and your DUPR rating at that session. Green = win, red = loss.
Rating Breakdown
Horizontal bar chart showing your 6 DUPR sub-category ratings: Serve, Return, Offense, Defense, Agility, Consistency. Quickly spot which areas pull your rating up or down.
Shot Accuracy & FH/BH
Donut charts showing your In/Net/Out split and Forehand vs Backhand usage across all selected games.

Coaching Insights

The floating insight box (bottom-left of the court) computes 20+ coaching analyses from your shot data. Click the expand arrow to see the full diagnosis and drill recommendation. Use β€Ή β€Ί arrows to cycle through all available insights.

3rd Shot Selection
Compares your drop vs drive accuracy on the third ball and flags if you're choosing the lower-percentage option more often.
Kitchen Transition Gap
Measures accuracy drop between shots 1–3 and shots 4–6 β€” the window where you should be transitioning to the kitchen.
Position Loss Under Pressure
Identifies retreating shots β€” which shot types you attempt when being pushed back. High retreating drives mean attacking from a recovery position.
Winner / Error Balance
Your clean winners, unforced errors, and W/UE ratio. Targets a ratio above 1.0 as the benchmark for controlled aggression.
Dink Net Clearance
Analyzes how high your dinks clear the net using tracked ball data. Shows tight (<2ft), moderate (2-4ft), and attackable (>4ft) percentages.
FH vs BH
Compares accuracy, quality, and drive speed between your forehand and backhand sides to identify which needs more work.
Return Patterns
Return accuracy by stroke, how often you advance on returns, and whether you're attacking the return or playing it safe.
Kitchen Dominance
Percentage of shots from the kitchen zone vs baseline β€” measures how well you're winning the positioning battle.
Drive & Speed-up Velocity
Ball speed trends using tracked data. Compares first-half vs second-half speeds to see if you're losing power or ramping up.
Serve Depth
Landing depth distribution (deep/mid/short) for serves using tracked ball data. Deeper serves give your team more time to transition.
More insights
Additional analyses include: Clutch Performance (tiebreak play), Scramble Cost (movement stress impact), Partner Spacing, Dink Loft & Arc (spin proxy), Drop Shot Net Clearance, Shot Timing, and more β€” all computed automatically from your data.

Data & Privacy

All data stays in your browser's localStorage. Games are pre-loaded from the data file. Import additional JSON exports via + Add Games. Export your library with the Export button in My Games. You can also sync your library to a GitHub repo for backup and sharing across devices.

What's Estimated vs Ground Truth

Verified from PBVision data: outcome (in/net/out), out direction (long/right/left), shot type, stroke (FH/BH), player court side, movement magnitude and direction, quality score, ball speed, ball trajectory (when augmented).

Estimated (zone-based): exact impact landing position, exact origin position. These are approximated using shot-type zones and movement data. Use for clustering and pattern recognition β€” not precise coordinates. Augmented games with tracked ball data provide real trajectory and net clearance values.

Doubles Matchup Analysis

Team vs team scouting β€” pick an opposing duo to see how you stack up and what to do next time

Toast