Tennis

The strokes, and what a ball actually costs.

Four stroke compilations to watch, then every ball I can buy priced the same way — per ball, after the miles the card earns. Taobao is billed in SGD at checkout; Singapore prices are as shelf-priced.

4 clips 9 offers Best S$1.00 / ball Updated 12 Sep 2026

01 — Clips

Stroke compilations

Click a tile to play it in place. The circle opens it full width.

Forehand Clip 1
Backhand Clip 2
Backhand Slice Clip 3
Forehand Slice Clip 4

02 — Balls

Net cost per ball, by tier

S Very good, durable — for match play
Pack
4-ball
Price
S$11.00
Balls
4
Card
UOB 1.4 mpd
Miles
14
Miles value
S$0.21
vs cheapest
+169.7%

1 can at a time

A Very good, not as durable
Pack
24-can case
Price
S$194.19
Balls
96
Card
Citi 4 mpd
Miles
776
Miles value
S$11.64
vs cheapest
+90.2%

All-in landed, GST and fees inside

Pack
4-ball
Price
S$9.50
Balls
4
Card
UOB 1.4 mpd
Miles
7
Miles value
S$0.10
vs cheapest
+134.9%
Pack
3-ball
Price
S$7.50
Balls
3
Card
UOB 1.4 mpd
Miles
7
Miles value
S$0.10
vs cheapest
+146.5%
B Too hard or too soft
Pack
3-ball
Price
S$3.00
Balls
3
Card
UOB 1.4 mpd
Miles
0
Miles value
S$0.00
vs cheapest
cheapest
Pack
3-ball
Price
S$7.00
Balls
3
Card
UOB 1.4 mpd
Miles
7
Miles value
S$0.10
vs cheapest
+129.8%

1 can at a time

Shit balls
Pack
3-ball
Price
S$7.00
Balls
3
Card
UOB 1.4 mpd
Miles
7
Miles value
S$0.10
vs cheapest
+129.8%

03 — Frames

What's in the bag

The two frames I actually play, to the maker's own numbers. Click any shot to open it full size.

Yonex VCORE 95

2026 · 8th gen · 16x20 · control

Yonex VCORE 95 side profile and strung face VCORE 95 throat — teal bridge, VCORE decal, white grip VCORE 95 grip and green butt cap VCORE 95 hoop, grommets and decals

Shots: Yonex · via Tennis Warehouse — click to open

Head
95 sq in / 613 cm²
Length
27 in / 68.6 cm
Weight
310 g unstrung
Balance
7 pts HL
Swingweight
323
Beam
22 mm
Pattern
16 x 20
Stiffness
RA 62

Wilson Clash 100 v3 RG

Roland-Garros edition · 16x19 · the soft one

Wilson Clash 100 v3 Roland-Garros, strung face Clash 100 v3 RG side profile Clash 100 v3 RG throat and grip Clash 100 v3 RG hoop detail

Shots: Wilson · via the Roland-Garros store — click to open

Head
100 sq in / 645 cm²
Length
27 in / 68.6 cm
Weight
295 g unstrung
Balance
7 pts HL
Swingweight
308
Beam
24.5 mm
Pattern
16 x 19
Stiffness
RA 54

04 — Strings

String specs, by brand

Tennis Warehouse University lab numbers — every string measured the same way at 51 lbs and a fast swing, so the rows compare directly. Lowest tension loss first; the ones I've played carry the tension.

String Material Stiffness Loss Spin
Tecnifibre HDX Tour 17 (1.24) Nylon/Polyurethane 144 10.9% 5.7
Tecnifibre HDX Tour 16 (1.30) Nylon/Polyester 149.2 12% 4.3
Wilson Natural Gut 16 (1.30) Gut 92.6 12.1% 4
Babolat VS Touch 15L (1.35) Gut 88.6 12.4% 3
Wilson NXT Max 15L (1.35) Nylon 156 13.1% 7.2
Babolat Xcel French Open Black 16 Nylon 144.6 13.3% 5.2
Wilson NXT Duramax 16 (1.32) Nylon 160 13.7% 5.7
Wilson Sensation Control 16 (1.30) Nylon 150.3 13.7% 4.8
Yonex Dynawire 16 (1.30) Nylon 154.9 13.7%
Yonex Mono Preme 16 (1.30) Nylon 166.3 13.9% 5
Wilson NXT Power 17 (1.26) Nylon 157.7 14.3% 5.5
Head Synthetic Gut PPS 17 (1.25) Nylon 150.9 14.6% 6.2
Head Velocity MLT 17 (1.25) Nylon 153.2 14.7% 5.5
Babolat Tonic + Natural Gut 16 Gut 98.9 14.9%
Babolat Origin 16 (1.30) Nylon 166.9 15% 5.6
Wilson Synthetic Gut Power 17 (1.25) Nylon 158.3 15% 5.5
Tecnifibre NRG2 17/1.24 Nylon 164 15.1% 3.5
Tecnifibre X-One Biphase 17 Nylon/Polyurethane 166.9 15.1% 2.1
Babolat VS Natural Team Gut 17 (1.25) Gut 92 15.2%
Wilson Natural Gut 17 Gut 80.6 15.2% 2.2
Wilson Synthetic Gut Power 16 (1.30) Nylon 156 15.2% 4.9
Babolat SG SpiralTek 16 Nylon 161.7 15.3% 4.1
Babolat Xalt 16 (1.30) Nylon 165.2 16.1% 5.3
Wilson Sensation 15 (1.35) Nylon 154.3 16.6% 4.8
Yonex Tour Super Pro 850 16 (1.32) Nylon 148.6 16.7% 4.3
Wilson Synthetic Gut Control 17 (1.25) Nylon 158.3 16.9% 4.8
Babolat SpiralTek 17 Nylon 149.2 17% 5.6
Solinco Vanquish 17 (1.20) Nylon 145.7 17% 5.9
Head Velocity MLT Power 16 (1.30) Nylon 164 17.2%
Babolat Origin 17 Nylon 171.5 17.3% 6.4
Wilson Natural Gut 16 Gut 96.6 17.3% 1.3
Babolat Synthetic Gut 17 (1.25) Nylon 162.3 17.4% 6
Babolat Synthetic Gut 16 (1.30) Nylon 169.2 17.5% 5.8
Wilson NXT Duramax 15 (1.40) Nylon 161.7 17.6% 4.5
Tecnifibre X-One Biphase 16 Nylon/Polyurethane 162.9 17.7% 1.6
Tecnifibre XR3 17 Nylon/Polyurethane 160.6 18% 3
Tecnifibre Multifeel 16 Black (1.30) Nylon/Polyurethane 148.6 18.1% 6.9
Head Rip Control 17 (1.25) Nylon/Polyolefin 137.7 18.3% 4.2
Tecnifibre NRG2 16 Nylon 158.3 18.3% 3.2
Wilson K-Gut Pro 16 Nylon 168 18.3% 1.6
Wilson NXT Tour 17 Nylon 175.5 18.4% 3.6
Babolat RPM Soft 16 (1.30) Nylon 154.9 18.5% 5.9
Wilson NXT 15L (1.35) Nylon 152 18.5% 7
Babolat M7 16 (1.30) Nylon 160.6 18.7% 4.7
Babolat VS Natural ThermoGut 16 Touch Gut 96 18.7% 2.7
Yonex Tour Super 850 16 (1.30) Nylon 145.7 18.7% 4.9
Wilson NXT OS Nylon 169.7 18.8% 2.5
Babolat Xcel 16 Nylon 150.9 18.9% 3
Babolat Xcel Power 16 Nylon 162.3 18.9% 3.8
Tecnifibre X-One Biphase 18 Nylon 145.7 18.9% 1.6
Tecnifibre E-Matrix 17 Nylon 143.4 19.1% 2.4
Wilson SGX 16 Nylon 166.3 19.1% 3.1
Yonex Rexis 16 (1.30) Nylon 153.2 19.1% 4.1
Wilson Synthetic Gut Extreme 17 Nylon 185.2 19.2% 2.8
Head Reflex MLT 17 (1.25) Nylon 141.2 19.4% 4.7
Babolat Xcel Premium 17 Nylon 148 19.7%
Wilson K-Gut 16 Nylon 171.5 19.7% 4.4
Wilson Red Alert 16 Nylon 190.9 19.8% 3
Babolat Attraction 16 Nylon/Polyurethane 157.7 20% 2.7
Head PerfectControl 16 Polyolefin 150.9 20% 2.6
Tecnifibre NRG2 18 (1.18) Nylon/Polyurethane 150.9 20% 2.6
Wilson Extreme 16 Synthetic Gut Nylon 174.3 20% 3.2
Babolat Addiction 16 Nylon 167.4 20.1% 3.1
Babolat Addiction 17 Nylon 153.7 20.1% 2.6
Tecnifibre E-Matrix 16 Nylon/Polyurethane 143.4 20.4% 2.7
Head FXP 17 Nylon 173.2 20.5% 4.1
Wilson NXT 16 Nylon 173.7 20.5% 3.9
Wilson NXT Max 16 Nylon 169.7 20.7% 2.5
Yonex Tournament 50 16L Nylon 167.4 20.7%
Solinco Vanquish 16 Nylon 160 20.8% 3.9
Tecnifibre XR3 16 Nylon/Polyurethane 162.9 20.8% 2.9
Tecnifibre Multi-Feel 17 (1.25) Nylon/Polyurethane 150.3 20.9% 2.6
Tecnifibre TGV 17/1.25 Nylon/Polyurethane 165.2 21.2% 3
Wilson Sensation 16 Nylon 168.6 21.2% 3.5
Wilson Stamina 16 Nylon 183.5 21.2% 3
Head ETS 17 Nylon 152 21.3% 1.9
Solinco X-Natural 17 (1.20) Nylon 158.9 21.3% 5.1
Wilson NXT Tour 16 Nylon 180.6 21.3% 3.8
Tecnifibre Multi-Feel 16 Nylon/Polyurethane 154.9 21.4% 3.3
Solinco X-Natural 16 (1.30) Nylon 144.6 21.5% 4.4
Wilson Sensation 17 Nylon 163.4 21.5% 3.6
Babolat Super Fine Play 16 Nylon 191.5 21.7% 3.8
Babolat Xcel Power 17 Nylon 145.7 21.7% 3.6
Yonex Tournament 80 Spin 15L-16 161.7 21.7%
Babolat RPM Team 16 Black Polyester 280.6 22% 3.9
Head FXP Power 17 Nylon 163.4 22.2% 4.5
Head RIP Control 16 Nylon/Polyolefin 156.6 22.2% 2.6
Solinco Confidential 16 (1.30) Polyester 222.3 22.2% 6.4
Babolat FiberTour 16 Nylon 163.4 22.8% 3.1
Head FXP 16 Nylon/Polyester 165.2 22.8% 3.8
Head FXP Tour 16 Nylon/Polyester 116.6 22.8% 4.2
Wilson Optimus 16 (1.30) Nylon 140 22.8% 3.6
Wilson NXT 17 Nylon 156 23% 2
Head RIP PerfectPower 16 Nylon/Polyolefin 156.6 23.1% 2.3
Babolat RPM Team 17 (1.25) Nylon/Polyester 245.2 23.2% 5.3
Head Synthetic Gut PPS 16 Nylon 169.7 23.3% 3.9
Head Synthetic Gut 16 Nylon 177.2 23.6% 3.6
Solinco Tour Bite 15L (1.35) Polyester 238.9 23.7% 5.1
Head Hawk Rough 17 Polyester 201.2 23.9% 4.9
Head Reflex MLT 16 (1.30) Nylon 159.4 24% 5.1
Yonex Rexis Comfort 16L (1.25) Nylon 128.6 24% 6.4
Head Fibergel Power 17 Nylon 161.2 24.5% 3.1
Head Lynx Tour 17 (1.25) Polyester 217.7 24.6% 7.1
Head ETS 16 Nylon 156 24.7% 1.9
Solinco Hyper-G 16L (1.25) Polyester 218.3 24.7% 6.1
Tecnifibre TGV 16 Nylon/Polyurethane 157.2 24.8% 3.1
Head Fibergel Spin 16 Nylon 168.6 25% 3.5
Tecnifibre Triax 16 (1.33) Nylon/Polyester 161.7 25% 5.8
Solinco Tour Bite 16L (1.25) Polyester 237.7 25.2% 5.9
Tecnifibre Black Code 4S 18 (1.20) Polyester 210.3 25.4% 6.1
Tecnifibre Black Code 4S 16 (1.30) Polyester 242.9 25.5% 9.2
Head FXP Power 16 Nylon 194.3 25.6% 4.6
Solinco Hyper-G 17 (1.20) Polyester 194.9 25.7% 6.1
Yonex Poly Tour Spin G 1.25 Polyester 237.2 25.7% 4.8
Solinco Hyper-G 16 Polyester 219.5 26.3% 7
Solinco Mach 10 16 (1.30) Polyester 222.3 26.3% 6
Wilson Reaction 16 Nylon 146.3 26.4% 2.4
Tecnifibre Razor Spin 17/1.25 Polyester 222.3 26.5% 8.6
Solinco Outlast 18 (1.15) Polyester 186.3 26.9% 6.6
Tecnifibre Tecni-spin 16 (1.28) Polyester 207.5 27% 6.5
Yonex Poly Tour Spin 16L (1.25) Polyester 213.7 27.2% 6.3
Solinco Confidential Soft 16L (1.25) Polyester 194.3 27.7% 6.5
Wilson Sensation Supreme 16 Nylon 143.4 27.9% 3
Yonex Poly Tour Strike 16L (1.25) Polyester 199.5 27.9% 4.6
Yonex Poly Tour HS 16 (1.30) Polyester 213.7 28.1% 5
Solinco Hyper-G 18 (1.15) Polyester 180 28.3% 7.5
Tecnifibre Black Code 4S 17 (1.25) 48 lbs Polyester 209.2 28.3% 9.8
Tecnifibre Razor Code 18 (1.20) Polyester 216.6 28.3% 6.1
Solinco Revolution 16L (1.25) Polyester 212.6 28.4% 8
Head Hawk 16 (1.30) Polyester 230.3 28.5% 6.4
Yonex Poly Tour HS 16L (1.25) Polyester 198.3 28.5% 5.7
Solinco Hyper-G-Soft 16L (1.25) Polyester 172 28.7% 5.2
Solinco Revolution 18 (1.16) Polyester 195.5 28.7% 6.3
Tecnifibre Ruff Code 17 (1.25) Polyester 207.5 28.7%
Solinco Outlast 16L (1.25) Polyester 208 28.8% 6.5
Tecnifibre Pro Red Code Wax 17 Polyester 235.5 28.8% 6.5
Head Hawk 18 (1.20) Polyester 194.3 28.9% 6.3
Yonex Rexis Speed 16L (1.25) Nylon 125.7 29.1% 5.6
Solinco Tour Bite Soft 17 (1.20) Polyester 186.3 29.2% 5.7
Solinco Tour Bite Soft 16L (1.25) Polyester 192 29.3% 5.8
Babolat RPM Blast Rough 16 Polyester 209.7 29.5% 8.2
Tecnifibre Black Code 15L (1.32) Polyester 210.3 29.5% 6.1
Tecnifibre Tecni-power 17 (1.24) Polyester 201.2 29.5% 6.8
Tecnifibre Razor Code 17 (1.25) Polyester 229.2 29.6% 5.6
Babolat Conquest 16 Nylon 174.9 30.2% 4.3
Head Lynx Tour 16 (1.30) Polyester 228.6 30.5% 6.1
Babolat Hurricane Feel 16 Polyester 249.7 30.7% 4.7
Wilson NXT Control 16 (1.32) Nylon/Polyester 163.4 31% 3
Head Lynx Touch 16g (1.30) Polyester 221.7 31.3% 6.2
Solinco Tour Bite Soft 18 (1.15) Polyester 172 31.3% 7.3
Tecnifibre Ruff Code 16 (1.30) Polyester 207.5 31.3% 4.8
Wilson Hollow Core Pro 16 Nylon 146.9 31.7% 2.2
Babolat Hurricane Feel 17 Polyester 239.5 31.9% 4.4
Head Hawk Touch 18 (1.20) Polyester 196 31.9% 5.2
Tecnifibre Duramix HD 17 Nylon/Polyester 169.7 32% 1.7
Solinco Tour Bite 19 (1.10) Polyester 171.5 32.2% 7.2
Solinco Hyper-G 16 Round (1.30) Polyester 226.3 32.3% 7.3
Wilson Shock Shield 16 Nylon 156 32.3% 2.3
Tecnifibre Razor Code 16 (1.30) Polyester 242.9 32.7% 4.2
Head Fibergel Power 16 Nylon 153.2 32.8% 3
Head Hawk Touch 19 (1.15) Polyester 192 32.8% 4.9
Babolat RPM Blast 15L (1.35) Polyester 236.6 32.9% 7.3
Head Hawk 17 (1.25) Polyester 204.6 32.9% 4.7
Wilson Enduro Pro 17 (1.25) Nylon/Polyester 226.9 32.9% 4
Babolat RPM Blast 17/1.25 Polyester 233.7 33.3% 4.6
Tecnifibre Razor Soft 17 (1.25) Polyester 212 33.3% 7.4
Yonex Poly Tour Pro 17 (1.20) Polyester 188.6 33.3% 5.2
Yonex PolyTour REV 16 (1.30) Polyester 208.6 33.3%
Solinco Barb Wire 16L (1.25) Polyester 182.9 33.5% 5.6
Wilson Hollow Core 16 Nylon 150.3 33.7% 3.3
Wilson Hollow Core Pro 17 Nylon 150.3 33.7% 3.9
Tecnifibre Duramix HD 16 Nylon/Polyester 162.3 34.1% 2.2
Tecnifibre Pro Mix 17 Nylon/Polyester 169.7 34.3% 3.7
Yonex Polytour Rev 16L (1.25) Polyester 193.2 34.4% 7.2
Tecnifibre Pro Red Code 16 Polyester 232 34.8% 4.9
Babolat RPM Dual 16 Polyester 237.2 34.9% 4.6
Tecnifibre Ice Code 16 (1.30) Polyester 221.2 35% 5.6
Yonex Poly Tour Fire 16L (1.25) Polyester 194.9 35% 5.8
Babolat RPM Blast Rough 17 Polyester 196 35.7% 9.9
Babolat RPM Blast 18 (1.20) Polyester 189.2 36.1% 5.1
Wilson Revolve 17 (1.25) Polyester 192 36.2% 7.7
Tecnifibre Polyspin 16L Polyester 226.9 36.3% 3.8
Tecnifibre Pro Red Code 18 Polyester 217.2 36.3% 5
Wilson Enduro Pro 16 Polyester 219.5 36.3% 4.7
Tecnifibre Pro Red Code 17 Polyester 225.7 36.4% 4.8
Babolat RPM Blast Rough 15L Polyester 199.5 37% 7.3
Babolat Pro Hurricane 18 Polyester 185.2 37.2% 3.3
Tecnifibre Black Code 16 Polyester 249.7 37.3%
Wilson Enduro Tour 16 Polyester 251.5 37.6% 5.2
Babolat Revenge 16 Polyester 276 37.7%
Tecnifibre Pro Mix 16 Nylon/Polyester 156.6 37.7% 2.6
Wilson Ripspin 17 Polyester 209.2 37.8% 5.2
Tecnifibre X-Code 16 Polyester 188 37.9% 2
Head Sonic Pro Edge 16 Polyester 194.9 38.5% 4.8
Wilson Spin Cycle 16L Polyester 205.7 38.7% 4.2
Babolat RPM Blast Orange 16 (1.30) Polyester 210.3 38.9% 7
Babolat Pro Hurricane 16 Polyester 204 39.6%
Wilson Ripspin 16 Polyester 212 39.6% 5.2
Solinco Barb Wire 16 Polyester 214.3 40.2% 4.4
Tecnifibre Black Code 17 Polyester 236 40.2% 4.2
Tecnifibre Black Code 18 Polyester 202.9 40.7% 4.6
Yonex Poly Tour Air 16L Polyester 154.9 41% 4.2
Yonex Poly Tour Tough 16L Polyester 193.7 41.2% 5.3
Wilson Enduro Mono 16L Polyester 230.3 41.5%
Wilson Revolve 15 (1.35) Polyester 192 41.6% 6.1
Wilson Ripspin 15 Polyester 212 41.7% 4.9
Babolat Pro Hurricane 17 Polyester 192.6 42% 3.1
Solinco Barb Wire 17 (1.20) Polyester 186.3 42.6% 4.9
Babolat Duralast 17 Polyester 219.5 43%
Solinco Tour Bite Diamond Rough 17 (1.20) Polyester 181.7 43.5% 4.3
Yonex Poly Tour Pro Yellow 16 (1.30) Polyester 191.5 44.5% 3.4
Babolat Pro Hurricane Tour 17 Polyester 214.9 44.8% 5.2
Head Ultratour 17 Polyester 207.5 44.9% 4.1
Head Ultra Tour 16 Polyester 201.7 45.1% 4.5
Wilson Revolve 16 (1.30) Polyester 184 45.2% 7.2
Head Lynx 16 (1.30) Polyester 185.7 45.6% 7
Head Lynx 18 (1.20) Polyester 174.9 45.6% 6.3
Babolat Ballistic Polymono 16 Polyester 217.7 45.9% 4.7
Babolat RPM Blast 16 Polyester 232.6 45.9% 4.5
Babolat Pro Hurricane Tour 16 Polyester 227.5 46.1% 5.1
Yonex Poly Tour Pro Yellow 16L (1.25) Polyester 181.2 46.3%
Head Lynx 17 (1.25) 44 lbs Polyester 179.5 47% 5.7
Solinco Tour Bite Diamond Rough 16L (1.25) Polyester 191.5 47% 5.4
Solinco Tour Bite 16 Polyester 202.9 47.1% 6.7
Wilson Enduro Gold 16 Polyester 213.7 47.1%
Yonex Poly Tour Drive 16L (1.25) Polyester 195.5 47.1% 7.6
Solinco Outlast 16 Polyester 208 47.3% 6
Solinco Tour Bite 20 (1.05) Polyester 136 47.3% 5.8
Solinco Revolution 16 Polyester 215.5 47.4% 6.4
Head Hawk Power 17 (1.25) Polyester 203.5 48.3% 7.5
Babolat Duralast 16 Polyester 207.5 48.5%
Solinco Tour Bite 17 Polyester 181.2 48.6% 6.3
Babolat Revenge 17 Polyester 222.3 48.7%
Yonex Poly Tour 130/16 Polyester 217.7 49.1%
Solinco Revolution 17 Polyester 188.6 50% 6.6
Solinco Tour Bite 16 Soft Polyester 184 50.3% 6.9
Solinco Outlast 17 Polyester 182.9 50.4% 5.5
Solinco Tour Bite 18 (1.15) Polyester 161.7 50.6% 5.8
Solinco Tour Bite Diamond Rough 16 (1.30) Polyester 192.6 52% 4.9
Wilson Revolve Spin 16 Polyester 172.6 54.5% 5
Head Sonic Pro 17 Polyester 164.6 54.9% 3.9
Head Sonic Pro 16 Polyester 160.6 57% 4.2
Wilson Enduro Tour 17 Polyester 169.7 62.4% 4.8
Wilson Enduro Tour 18 Polyester 159.4 63.7%

05 — Players

Who I actually work with

Minutes at zone 4 or above — anaerobic and extreme — per hour on court. Everything below zone 4 is the warm-up, changing ends and standing around, so a 3+ share mostly measured downtime; and a rate means playing someone more often, or for longer, doesn't inflate them. The bar spans the lowest to highest heart rate recorded across that opponent's sessions, and the dot is the average while playing — samples under 130 bpm dropped. Blank for the 2 opponents who never got a session going.

Player · rating avg Zone 4+ / hr Peak Avg HR
John Ho 3.0 50 184 166
Ban Siang Gaw 3.3 36 175 156
Alvin 3.7 36 175 158
Jack B 3.7 35 186 166
Raemi S 3.5 34 175 156
L L 3.6 25 177 152
Ben K 3.2 24 166 152
Kim K 3.6 22 187 153
Benjamin Tan 3.8 21 171 151
Yvonne Yau 3.9 19 176 149
Daphne 3.4 19 184 150
Susheel Matta 3.8 19 184 150
Terrence Fou 3.5 19 184 150
Titus Lim 3.6 18 168 149
Audrey Cheong 3.4 18 170 148
TY Ahn 3.1 17 172 149
say 14 3.5 14 162 147
Ag Bb 3.2 11 175 146
Ju S 3.5 11 175 146
Viel Araneta 3.4 11 175 146
Ag Ee 3.2 7 166 143
Hari Haran 3.4 7 166 143
Lyn A 3.6 7 166 143
Howard Hall 3.5 6 167 145
X Zhang 3.0 5 171 144
Caroline Loke 3.0 4 174 143
Ivan E 3.6 4 174 143
Jared 3.7 4 174 143
Eugene Ang 3.4 4 163 140
Daniel Park 3.9 4 167 141
Jiaxin 3.0 4 167 141
john 3.8 4 167 141
Flo T 3.0 1 159 141
Daphne O 3.4 1 160 140
Kaia Player 1 156 138
TK Yew 3.7 1 156 138
Wei Ji Lim 3.6 1 156 138
Brandon Hu 3.7 1 160 138
Lester Sualog 1.0 1 156 139
Alex 3.5 0 160 137
Charles Cheng 3.5 0 155 141
Lauren K 3.3 0 156 138
Nawin S (AllThatRacket) 3.9 0 156 138
HY Leong 3.5 0 156 139
Randy Kindangen 3.7 0 145 134
Vivian Hu 3.5 0 145 134
Xiaofeng Lin 3.2 0 153 138
David Jensen 4.0 0 150 136
Jiachen Liu 3.0 0 149 135
Hamza Jafri 3.6 0 143 134
Astrid S 3.1 no strap 0
Philip 3.7 no strap 0
6080100120140160180