Esordisce nei tornei ITF nel 2012, nel 2015 disputa le prime finali di categoria in singolare e in doppio. Alza il primo trofeo da professionista vincendo in doppio il torneo ITF USA F26 nel luglio 2017. Nel gennaio 2018 supera per la prima volta le qualificazioni di un torneo ATP nella sua Sydney con i successi sul nº 75 del ranking Dušan Lajović e su Ričardas Berankis, e al primo turno del tabellone principale viene sconfitto in tre set da Feliciano Lopez. Nel 2019 partecipa grazie a una wild card alle qualificazioni dell'Australian Open e viene eliminato al primo turno da Thiago Monteiro.
Sempre grazie a una wild card, nel 2020 partecipa nuovamente alle qualificazioni dell'Australian Open e viene sconfitto all'ultimo turno da Daniel Elahi Galán. In marzo disputa la sua prima finale in carriera nel circuito Challenger a Monterrey e viene sconfitto da Adrian Mannarino. Supera le qualifiche al Roland Garros, debuttando così in un torneo del Grande Slam, e viene eliminato al primo turno da Pedro Martínez in tre set.
Nel febbraio 2021 vince il primo incontro nel circuito maggiore sconfiggendo Yen-Hsun Lu al primo turno dell'ATP 250 di Melbourne e viene quindi eliminato da Jannik Sinner. Fa poi il suo esordio nel tabellone principale degli Australian Open e viene eliminato al primo turno. Sconfitto al terzo incontro di qualificazione al Roland Garros da Bjorn Fratangelo, torna a mettersi in luce verso fine anno con due semifinali nei Challenger e raggiungendo il secondo turno all'Indian Wells Masters grazie al successo su Pablo Andujar, risultato con cui fa il suo ingresso nella top 200 del ranking mondiale. Continua a risalire la classifica con le finali raggiunte nei Challenger di Charlottesville e Champaign, perse entrambe contro Stefan Kozlov, e chiude la stagione con il nuovo miglior ranking alla 156ª posizione mondiale.
2022: primi quarti di finale ATP, primo titolo Challenger e 117º nel ranking
Inizia il 2022 con l'eliminazione al primo turno nel torneo ATP Adelaide 1, dove in doppio si spinge fino ai quarti di finale. Al successivo Adelaide 2 raggiunge per la prima volta i quarti di finale in un torneo ATP anche in singolare con i successi sul nº 35 ATP Aleksandr Bublik e su Steve Johnson, prima di essere eliminato da Thanasi Kokkinakis. Il buon momento prosegue agli Australian Open, dove vince il suo primo incontro in una prova del Grande Slam eliminando il nº 33 ATP Lloyd Harris e viene battuto al secondo turno da Radu Albot. Il 20 febbraio conquista il suo primo titolo Challenger battendo in due set Dimitar Kuzmanov nella finale del Bengaluru Open 2 e la settimana successiva porta il best ranking alla 117ª posizione. A settembre raggiunge i quarti di finale anche all'ATP di Sofia e viene eliminato da Jannik Sinner. A fine anno perde due semifinali Challenger consecutive a Calgary e a Champaign
2023, prima finale ATP, un titolo Challenger e top 50
Nel maggio 2023 vince il secondo titolo Challenger in carriera a Busan approfittando del ritiro di Max Purcell nel corso della finale. Al successivo Oeiras Challenger II perde in finale contro Facundo Díaz Acosta e fa il suo ingresso nella top 100. Il 3 luglio raggiunge per la prima volta il secondo turno a Wimbledon battendo Daniel Altmaier ed esce di scena al secondo turno. A fine mese disputa la sua prima finale del circuito maggiore all'Atlanta Open grazie ai successi sui top 40 Yoshihito Nishioka, Christopher Eubanks e in semifinale Ugo Humbert; viene sconfitto dal nº 9 del mondo Taylor Fritz con il punteggio di 5-7, 7-6, 4-6, e sale alla 62ª posizione mondiale. Raggiunge per la prima volta il terzo turno in un Masters 1000 a Toronto con i prestigiosi successi su Borna Ćorić e Sebastian Korda e viene eliminato da Gaël Monfils, a fine torneo fa il suo ingresso nella top 50, alla 48ª posizione.