Cresciuto nel settore giovanile dell'Aston Villa[2], ha debuttato in prima squadra il 27 agosto 2019, nella partita di Coppa di Lega vinta per 1-6 contro il Crewe Alexandra.[3] Il 2 ottobre 2020 viene ceduto a titolo temporaneo al Solihull Moors, club militante in National League[4]; il 4 gennaio 2021 il prestito viene prolungato fino al termine della stagione.[5]
Rientrato ai Villans, il 24 agosto segna le prime reti con la squadra di Birmingham, marcando una tripletta nell'incontro di Coppa di Lega vinto per 0-6 contro il Barrow[6][7] Il 25 settembre esordisce in Premier League, nella vittoria ottenuta contro il Manchester United per 0-1[8][9]; il 10 dicembre seguente prolunga con i Lions fino al 2025.[10]
Il 24 gennaio 2022 viene ceduto fino al termine della stagione al Preston North End[11], con cui segna sette reti in 20 presenze complessive[12]; il 5 agosto rinnova con l'Aston Villa fino al 2027, venendo definitivamente incluso nella rosa della prima squadra.[13]