DeepCourt
JB

Justin Boulais

Canada·Age 24·Plays: Right-handed·183cm
Rank #428 ▲21·L1

Surface Elo

Hard1629.49
Clay1453.93
Grass1500

Career W/L

90 / 94

48.9%

YTD Record

14W – 8L

Titles

1

World Ranking

Current

#428

Peak: #428

Surface Elo History

Surface Win Rate

Hard

51.8%

Elo 1629.49

Clay

20.0%

Elo 1453.93

Grass

0.0%

Elo 1500

Recent Form

DateTournamentLevelSurfaceRdMatchW/L
Apr 16, 2026Wuning 2 CHChallengerHardR16
Giles Hussey (7)
2
6
6
L
Apr 15, 2026Wuning 2 CHChallengerHardR32
2
4
77
60
Philip Sekulic
1
6
62
41
W
Apr 10, 2026Wuning CHChallengerHardQF
Fajing Sun (5)
2
6
6
L
Apr 8, 2026Wuning CHChallengerHardR16
Kaichi Uchida (4)
0
3
4
W
Mar 31, 2026Miyazaki CHChallengerHardR32
Harry Wendelken (7)
2
7
7
L
Mar 30, 2026Miyazaki CHChallengerHardQualifying R3
Masamichi Imamura (8)
0
0
2
W
Mar 29, 2026Miyazaki CHChallengerUnknownQualifying R1
Takaya Ishii
0
0
0
W
Mar 24, 2026Yokkaichi CHChallengerHardR32
Yu Hsiou Hsu (4)
2
7
6
L
Mar 23, 2026Yokkaichi CHChallengerHardQualifying R3
Hyeon Chung (3)
0
4
4
W
Mar 22, 2026Yokkaichi CHChallengerHardQualifying R1
Ryuki Matsuda
0
1
4
W
Mar 8, 2026ITF M25 Faro MenITFHardFinal
Joao Domingues
0
5
4
W
Mar 7, 2026ITF M25 Faro MenITFHardSF
Liam Broady
0
66
0
W
Mar 6, 2026ITF M25 Faro MenITFHardQF
Tiago Torres
1
6
3
1
W
Mar 5, 2026ITF M25 Faro MenITFHardR16
Edison Ambarzumjan
0
4
3
W
Mar 3, 2026ITF M25 Faro MenITFHardR32
Tomas Serrano Luis
1
6
3
0
W
Feb 23, 2026ITF M25 Vale Do Lobo MenITFHardR32
Giles Hussey
2
3
6
6
L
Feb 10, 2026Baton Rouge CHChallengerHardR32
Blaise Bicknell
2
3
6
6
L
Feb 5, 2026Cleveland CHChallengerHardR16
Quinn Vandecasteele (Q)
2
6
6
L
Feb 3, 2026Cleveland CHChallengerHardR32
Lincoln Battle (WC)
0
3
4
W
Feb 1, 2026Cleveland CHChallengerHardQualifying R1
Wally Thayne (WC)
0
1
3
W

Career Highlights

Titles: 1·Finals: 1·Best Ranking: #428

Key Stats

Aces/Match

3.7

per 100 pts

DFs/Match

4.5

per 100 pts

1st Serve %

62.3%

1st Srv Won

66.2%

BP Saved

59.6%

BP Converted

31.4%

Condition Analysis

Quick match-day weather and venue filters up top, with deeper surface and pace profiling below.

Historical player-page weather uses one stored venue-date weather value per match day. Temperature, humidity, wind, and condition labels all follow that same day-level model, not match-time or hourly weather.

Unlock Condition Analysis

Subscribe to the Data tier to access match-day condition filters, pace heatmaps, and custom environment splits.