Click a tile to play it in place. The circle opens it full width.
Courts
Where I've played
Every court from my Rovo history, most-visited first. Tap a star to rate a place —
tap the same star again to clear it.
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
+41.9%
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
cheapest
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
+23.5%
Pack
3-ball
Price
S$7.50
Balls
3
Card
UOB 1.4 mpd
Miles
7
Miles value
S$0.10
vs cheapest
+29.6%
BToo hard or too soft
Pack
3-ball
Price
S$7.00
Balls
3
Card
UOB 1.4 mpd
Miles
7
Miles value
S$0.10
vs cheapest
+20.9%
1 can at a time
Pack
3-ball
Price
S$7.00
Balls
3
Card
UOB 1.4 mpd
Miles
7
Miles value
S$0.10
vs cheapest
+20.9%
✕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
+20.9%
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
2025 · 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
Guide
How to pick a string
Strings are what actually touch the ball, so they matter as much as the frame. Before
you have a preference, level is the only thing that changes the answer — not the
marketing. Distilled from
Rackets & Runners' beginner & intermediate string guide
.
FamilyPlays likeIn Singapore
Natural gut Split cow intestine — the original, and still the reference.Most power and feel of anything, and holds tension best. Also the most expensive by a distance.Swells in humidity and dies once it gets wet. Coated and waxed, or not at all in this climate.
Synthetic gut A solid nylon core with an outer wrap. The cheap default.All-round: nothing standout, nothing wrong with it. Cheap, and it comes in every colour.The best value in heat and humidity — it barely notices either.
Multifilament Hundreds of fine nylon filaments — synthetic gut's plusher cousin.Softer, more free power, much better feel at contact. Less durable than syn gut.Fine in the heat, but it softens and frays — it dies on the shelf too, so restring on the clock.
Polyester A stiff plastic monofilament. What the pros actually play.Low power, high control, spin-friendly, and it lasts. Wants a fast swing to do anything.Loses tension fastest in the heat and goes dead — and dead poly is harsh on the arm.
Mains — The north–south strings you hit along. About 70% of how the string bed behaves.
Crosses — The east–west strings, woven through the mains. The other ~30%.
A hybrid is two different strings in one frame, one per direction. Put the polyester in the mains and the multifilament in the crosses: the mains carry
about 70% of the bed's behaviour, so that is where the control and spin come from, while
the softer crosses keep it comfortable. Flip them — multi mains, poly crosses — only if you
want more power and comfort than spin.
Pick by level
1
Just hitting with friends
A few times a month, not chasing improvement yet
String
Synthetic gut
Tension
52 lbs
Gauge
16 (1.30 mm)
Soft and elastic, so the sweet spot feels bigger and the power comes free — and it is the least fussy thing you can put in a frame in this heat. Every brand's plays much the same, so pick it by colour.
2
Playing to get better
Weekly, maybe taking lessons — you want feedback
String
Multifilament
Tension
52 lbs
Gauge
16 (1.30 mm)
Softer than synthetic gut: more free power, and a much clearer feel at contact, which is how you learn what you did. Value: Wilson Sensation, Head Velocity MLT, Babolat Xcel. Step up: Wilson NXT, Tecnifibre NRG. Less durable, so restring on schedule.
3
Intermediate with pace
You make your own power and want it harnessed
String
Hybrid — round poly mains, multi crosses
Tension
50 lbs poly / 52 lbs multi
Gauge
Poly 16L–17 (1.25–1.20 mm) · multi 16
Poly goes in the mains because the mains are ~70% of how the bed plays: control and spin, with the multi crosses keeping it comfortable. Round polys only — Head Hawk Touch, Yonex Poly Tour Strike, Luxilon Element. Shaped strings like Hyper G or Lynx Tour saw through the multi.
Singapore
There is no winter to store a racket through here, so nothing gets a rest — heat and sweat are what kill strings, not cold. Heat speeds up tension loss and softens the bed; humidity is what murders natural gut.
Polyester is the one that goes dead fastest in this heat. Dead strings still look perfectly fine, so go by the calendar: restring as many times a year as you play a week. Twice a week means twice a year, whether or not anything snapped.
Keep the frame out of a hot car boot and out of the rain. If you ever string gut, a waterproof cover stops being optional.
Don't move to a full bed of polyester yet: it is stiff, the sweet spot shrinks, and the frame gets punishing. And don't sweat gauge — 16 for softer strings, 16L–17 for poly, nothing finer until you have a real preference.
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%—
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.