W czasach juniorskich trenował w FC Porto i Padroense FC. W latach 2012–2016 był zawodnikiem rezerw tego pierwszego[1]. 25 stycznia 2015 zadebiutował w barwach pierwszego zespołu w rozgrywkach Primeira Ligi. Miało to miejsce w przegranym 0:1 meczu z CS Marítimo[2]. Do gry wszedł w 59. minucie, zmieniając Héctora Herrerę[3]. 28 lipca 2015 został wypożyczony na rok do Académiki Coimbra. Przed rozpoczęciem sezonu 2016/2017 dołączył na stałe do pierwszej drużyny. W latach 2016–2018 był wypożyczany kolejno do: greckiego Olympiakosu SFP, Rio Ave FC i Vitórii Setúbal. 12 lipca 2018 odszedł za 3 miliony euro do niemieckiego Eintrachtu Frankfurt[1].