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.
Click a tile to play it in place. The circle opens it full width.
ForehandClip 1
BackhandClip 2
Backhand SliceClip 3
Forehand SliceClip 4
02 — Balls
Net cost per ball, by tier
SVery 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
AVery 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%
BToo 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
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
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.
StringMaterialStiffnessLossSpin
Tecnifibre HDX Tour 17 (1.24)Nylon/Polyurethane14410.9%5.7
Tecnifibre HDX Tour 16 (1.30)Nylon/Polyester149.212%4.3
Wilson Natural Gut 16 (1.30)Gut92.612.1%4
Babolat VS Touch 15L (1.35)Gut88.612.4%3
Wilson NXT Max 15L (1.35)Nylon15613.1%7.2
Babolat Xcel French Open Black 16Nylon144.613.3%5.2
Wilson NXT Duramax 16 (1.32)Nylon16013.7%5.7
Wilson Sensation Control 16 (1.30)Nylon150.313.7%4.8
Yonex Dynawire 16 (1.30)Nylon154.913.7%—
Yonex Mono Preme 16 (1.30)Nylon166.313.9%5
Wilson NXT Power 17 (1.26)Nylon157.714.3%5.5
Head Synthetic Gut PPS 17 (1.25)Nylon150.914.6%6.2
Head Velocity MLT 17 (1.25)Nylon153.214.7%5.5
Babolat Tonic + Natural Gut 16Gut98.914.9%—
Babolat Origin 16 (1.30)Nylon166.915%5.6
Wilson Synthetic Gut Power 17 (1.25)Nylon158.315%5.5
Babolat Pro Hurricane Tour 16Polyester227.546.1%5.1
Yonex Poly Tour Pro Yellow 16L (1.25)Polyester181.246.3%—
Head Lynx 17 (1.25)44 lbsPolyester179.547%5.7
Solinco Tour Bite Diamond Rough 16L (1.25)Polyester191.547%5.4
Solinco Tour Bite 16Polyester202.947.1%6.7
Wilson Enduro Gold 16Polyester213.747.1%—
Yonex Poly Tour Drive 16L (1.25)Polyester195.547.1%7.6
Solinco Outlast 16Polyester20847.3%6
Solinco Tour Bite 20 (1.05)Polyester13647.3%5.8
Solinco Revolution 16Polyester215.547.4%6.4
Head Hawk Power 17 (1.25)Polyester203.548.3%7.5
Babolat Duralast 16Polyester207.548.5%—
Solinco Tour Bite 17Polyester181.248.6%6.3
Babolat Revenge 17Polyester222.348.7%—
Yonex Poly Tour 130/16Polyester217.749.1%—
Solinco Revolution 17Polyester188.650%6.6
Solinco Tour Bite 16 SoftPolyester18450.3%6.9
Solinco Outlast 17Polyester182.950.4%5.5
Solinco Tour Bite 18 (1.15)Polyester161.750.6%5.8
Solinco Tour Bite Diamond Rough 16 (1.30)Polyester192.652%4.9
Wilson Revolve Spin 16Polyester172.654.5%5
Head Sonic Pro 17Polyester164.654.9%3.9
Head Sonic Pro 16Polyester160.657%4.2
Wilson Enduro Tour 17Polyester169.762.4%4.8
Wilson Enduro Tour 18Polyester159.463.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.