Career 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009
All Surfaces Clay Grass Hard I.hard
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Tournaments Winston-Salem Open - Winston-Salem M25+H Bagneres-de-Bigorre San Benedetto Challenger M25 Dallas Meerbusch Challenger Karlsruhe Challenger Truist Atlanta Open - Atlanta Cary 2 Challenger Charleston Challenger Columbus Challenger Amersfoort Challenger Stanford Challenger Todi Challenger Segovia Challenger Tiburon Challenger Bloomfield Hills Challenger Citi Open - Washington Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open - New York U.S. Open (juniors) Binghamton Challenger Lexington Challenger U.S. Open - New York Dallas Challenger Sarasota Challenger Savannah Challenger Binghamton Challenger Lexington Challenger Aptos Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Melbourne Challenger Traralgon Challenger Yeongwol Challenger Yokohama Challenger US Men's Clay Court Championship - Houston Hall of Fame Tennis Championships - Newport Maui Challenger Burnie Challenger West Lakes Challenger Sarasota Challenger Savannah Challenger Tallahassee Challenger Winnetka Challenger Binghamton Challenger Lexington Challenger Vancouver Challenger Mons Challenger Traralgon Challenger Traralgon Challenger 2 BNP Paribas Open - Indian Wells French Open - Paris U.S. Open - New York Maui Challenger Burnie Challenger Launceston Challenger Le Gosier Challenger Sarasota Challenger Savannah Challenger Tallahassee Challenger Heilbronn Challenger Vicenza Challenger Mestre Challenger Caltanissetta Challenger Perugia Challenger Winnetka Challenger Binghamton Challenger Lexington Challenger Aptos Challenger Vancouver Challenger Meerbusch Challenger Cary Challenger Columbus Challenger Tiburon Challenger Mons Challenger Sacramento Challenger Fairfield Challenger Las Vegas Challenger Monterrey Challenger Charlottesville Challenger Champaign Challenger Australian Open - Melbourne BNP Paribas Open - Indian Wells U.S. Open - New York Noumea Challenger Maui Challenger Dallas Challenger Morelos Challenger Israel F1 Drummondville Challenger St. Brieuc Challenger Le Gosier Challenger Savannah Challenger Tallahassee Challenger Seoul Challenger Bangkok Challenger Turkey F9 Egypt F8 Egypt F9 USA F11 Turkey F14 Turkey F15 Turkey F16 China F6 Winnetka Challenger Winnipeg Challenger Binghamton Challenger Lexington Challenger China F7 China F8 China F9 USA F21 USA F23 Granby Challenger Aptos Challenger Cary Challenger Tiburon Challenger Belgium F4 Belgium F5 Belgium F7 Belgium F8 Belgium F9 Belgium F10 Belgium F12 Belgium F13 Belgium F14 Ho Chi Minh City Challenger Ningboo Challenger Suzhou Challenger Knoxville Challenger Champaign Challenger USA F33 USA F34 Columbus Challenger Turkey F49 Turkey F50 Australian Open - Melbourne BNP Paribas Open - Indian Wells French Open - Paris Ricoh Open - 's-Hertogenbosch Wimbledon - London Hall of Fame Tennis Championships - Newport BB&T Atlanta Open - Atlanta Citi Open - Washington Western & Southern Open - Cincinnati U.S. Open - New York Noumea Challenger Maui Challenger Burnie Challenger Launceston Challenger Guadalajara Challenger Leon Challenger Tempe Challenger USA F10 (Bakersfield) Panama City Challenger Sarasota Challenger Tallahassee Challenger Savannah Challenger Heilbronn Challenger Vicenza Challenger Surbiton Challenger Ilkley Challenger USA F11 (Calabasas) USA F13 (Little Rock) Czech Republic F1 (Prague) Winnetka Challenger Aptos Challenger Belgium F3 (De Haan) Belgium F4 (Lasne) Belgium F5 (Knokke) Belgium F6 (Duinbergen) Cary Challenger Tiburon Challenger Stockton Challenger Fairfield Challenger Traralgon Challenger Canberra Challenger Knoxville Challenger Champaign Challenger USA F30 (Claremont) USA F32 (Fountain Valley) Australian Open - Melbourne Delray Beach Open - Delray Beach BNP Paribas Open - Indian Wells US Men's Clay Court Championship - Houston Wimbledon - London Citi Open - Washington Western & Southern Open - Cincinnati U.S. Open - New York Noumea Challenger Newport Beach Challenger Dallas Challenger San Francisco Challenger Indian Wells Challenger San Luis Potosi Challenger Panama City Challenger Sarasota Challenger Tallahassee Challenger Savannah Challenger Lisbon Challenger Mestre Challenger Poznan Challenger Lyon Challenger Winnetka Challenger Gatineau Challenger Granby Challenger Belgium F3 (Lasne) Netherlands F3 (Amstelveen) Belgium F4 (Knokke) Belgium F7 (Eupen) Belgium F8 (Koksijde) Chicago Challenger Cary Challenger Tiburon Challenger Stockton Challenger Fairfield Challenger Las Vegas Challenger Charlottesville Challenger Belgium F9 (Huy) Belgium F10 (Damme) France F19 (Sarreguemines) Tunisia F34 (Monastir) Tunisia F35 (Monastir) Knoxville Challenger Houston Challenger Germany F16 (Hamburg) USA F31 (Norman) USA F33 (Columbus) USA F34 (Waco) Australian Open - Melbourne BNP Paribas Open - Indian Wells Miami Open - Miami US Men's Clay Court Championship - Houston French Open - Paris Wimbledon - London Hall of Fame Open - Newport U.S. Open - New York Orlando Challenger Newport Beach Challenger Dallas Challenger Indian Wells Challenger USA F35 (Tallahassee) M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Faro Phoenix Challenger Monterrey Challenger Sarasota Challenger Tallahassee Challenger M25 Bakersfield M25 Calabasas M15 Cancun M15 Cancun Braga Challenger Lisbon Challenger M15 Troisdorf M15 Valldoreix Little Rock Challenger Ilkley Challenger Winnetka Challenger Binghamton Challenger M25+H Arlon M25 Lasne M25 Getxo Aptos Challenger Meerbusch Challenger New Haven Challenger Banja Luka Challenger Cary Challenger Columbus Challenger Tiburon Challenger M15 Brussels M15 Eupen M15 Lambermont M25 La Marsa M25 Norman Fairfield Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Houston Challenger Champaign Challenger M25 Claremont M25 Waco M15 East Lansing Australian Open - Melbourne New York Open - New York Delray Beach Open - Delray Beach French Open - Paris U.S. Open - New York European Open - Antwerp Canberra Challenger Newport Beach Challenger Dallas Challenger Indian Wells Challenger All Lower level tournaments Parma Challenger M25+H Plaisir M15 Forbach M25+H Rodez Split Challenger Cary Challenger M25 Vale Do Lobo M15 Quinta Do Lago Orlando Challenger Ortisei Challenger Maia Challenger Australian Open Qualifying - Doha BNP Paribas Open - Indian Wells Miami Open - Miami French Open - Paris Wimbledon - London Hall of Fame Open - Newport Citi Open - Washington Western & Southern Open - Cincinnati U.S. Open - New York European Open - Antwerp M15+H Bressuire Cherbourg Challenger M25 Villena M25 Naples M25 Naples Cleveland Challenger Lille Challenger M25 Faro Marbella Challenger Orlando Challenger Tallahassee Challenger M15 Troisdorf M25 Vic Biella 6 Challenger Oeiras 4 Challenger Little Rock Challenger M25 Alkmaar Lyon Challenger Orlando 2 Challenger Aix En Provence Challenger Amersfoort Challenger Cary Challenger Pozoblanco Challenger Lexington Challenger Luedenscheid Challenger Prague 3 Challenger Mallorca Challenger San Diego Open - San Diego Seville Challenger Cary 2 Challenger Columbus Challenger Lisbon Challenger Davis Cup, Group I, 1R, BOL-BEL 2-3 Alicante Challenger Las Vegas Challenger Tenerife Challenger Charlottesville Challenger Roanne Challenger Knoxville Challenger Pau Challenger Champaign Challenger Forli 2 Challenger Australian Open - Melbourne Dallas Open - Dallas Delray Beach Open - Delray Beach BNP Paribas Open - Indian Wells Miami Open - Miami US Men's Clay Court Championship - Houston French Open - Paris Wimbledon - London Traralgon Challenger Forli 1 Challenger Forli 2 Challenger Columbus Challenger Cleveland Challenger M25 Weston Pau Challenger M25 Cancun Phoenix Challenger Lille Challenger Lugano Challenger M25 Portimao Turin Challenger Hall of Fame Open - Newport Citi Open - Washington U.S. Open - New York European Open - Antwerp Murcia Challenger Sarasota Challenger Madrid Challenger Split Challenger Tallahassee Challenger Rome 1 Challenger Heilbronn Challenger Tunis Challenger M25 Santa Margherita di Pula Perugia Challenger Montechiarugolo - Parma Challenger Oeiras 3 Challenger Troyes Challenger Braunschweig Challenger Pozoblanco Challenger Indianapolis Challenger Segovia Challenger Chicago Challenger Grodzisk Mazowiecki Challenger San Diego Open - San Diego Cassis Challenger Cary Challenger Braga Challenger Orleans Challenger Charleston Challenger Davis Cup, Group C, Hamburg Alicante Challenger Tiburon Challenger Fairfield Challenger Ismaning Challenger Las Vegas Challenger Charlottesville Challenger M25 Sarreguemines Calgary Challenger Knoxville Challenger Drummondville Challenger Andria Challenger Maspalomas Challenger Australian Open - Melbourne Dallas Open - Dallas Delray Beach Open - Delray Beach BNP Paribas Open - Indian Wells Barcelona Open Banc Sabadell - Barcelona French Open - Paris Mallorca Championships - Mallorca Canberra Challenger Nonthaburi 2 Challenger Nonthaburi 3 Challenger Ottignies-Louvain-la-Neuve Challenger Cleveland Challenger Tenerife 2 Challenger Vilnius Challenger Cherbourg Challenger Monterrey Challenger Rovereto Challenger Waco Challenger M25 Loule Antalya Challenger Phoenix Challenger Las Franquesas del Valles Challenger Mexico City Challenger Lille Challenger Murcia Challenger Sarasota Challenger Tallahassee Challenger Rome Challenger Savannah Challenger Prague 2 Challenger Bordeaux Challenger Little Rock Challenger M25 Santa Margherita di Pula Prostejov Challenger Tyler Challenger Lyon Challenger Palmas del Mar Challenger Blois Challenger Dallas Challenger Usa F26 Dallas Challenger Dallas Challenger USA F7 USA F8 USA F27 USA F31 Dallas Challenger USA F2 USA F4 USA F5 USA F6 USA F7 USA F25 USA F26 USA F27 USA F28 USA F29 USA F30 USA F31 USA F32 USA F1 USA F2 USA F3 USA F5 USA F6 USA F7 USA F8 USA F11 USA F12 USA F13 Netherlands F1 Belgium F1 Netherlands F2 Belgium F2 Netherlands F3 Belgium F4 Belgium F6 Belgium F7 Belgium F8 Belgium F9 Belgium F10 Belgium F11 Turkey F46 Turkey F47 Turkey F48 USA F1 Turkey F3 Australia F1 Turkey F4 Australia F2 Turkey F5 USA F8 USA F9 Qatar F1 Qatar F2 Qatar F3 USA F13 USA F14 Italy F16 Italy F17 Belgium F1 Italy F18 Belgium F5 Belgium F6 Belgium F7 Belgium F8 Belgium F9 Belgium F10 USA F23 Canada F7 Belgium F11 Canada F8 Belgium F12 Belgium F13 Canada F9 Belgium F14 Belgium F15 Canada F10 Australia F6 Australia F7 Australia F8 Greece F8 Greece F9 Greece F10 Australia F9 Australia F10 Kuwait F2 Kuwait F3 Qatar F4 Dominican Republic F4 Qatar F6 USA F2 USA F4 Portugal F1 Portugal F2 USA F10 USA F11 Greece F2 Greece F3 Turkey F16 Turkey F17 China F5 China F6 China F7 USA F21 Belgium F4 Belgium F5 Belgium F6 Belgium F9 Belgium F10 Israel F10 Israel F11 Israel F12 Germany F14 Tunisia F27 Tunisia F28 Great Britain F10 Great Britain F11 Israel F16 Israel F17 Qatar F5 Qatar F6