Il connaît sa première victoire en simple sur le circuit ATP à Casablanca en 2014. Alors classé , il atteint les demi-finales après avoir battu notamment le mondial João Sousa (6-7, 7-6, 6-2). Il s'incline contre Guillermo García-López en trois sets (6-2, 6-7, 6-4). En 2015, il reçoit une invitation pour le tournoi de Barcelone où il élimine Jan-Lennard Struff au premier tour. En 2016, il se qualifie pour les quarts de finale du tournoi de São Paulo avec un statut de Lucky loser après une victoire sur le mondial, Thomaz Bellucci (2-6, 6-3, 6-4). Il se qualifie également pour le Masters de Madrid et son premier Grand Chelem à Roland-Garros où il cède au premier tour en cinq sets contre Adam Pavlásek (6-2, 4-6, 6-3, 1-6, 6-1). Il intègre brièvement le top 100 en fin d'année. Début 2017, il est quart de finaliste à Quito, puis élimine João Sousa à Rio.