Nato a Birmingham, entra nel settore giovanile dell'Aston Villa all'età di 6 anni.[1] Il 15 gennaio 2019 firma il suo primo contratto professionistico[2] ed un mese più tardi debutta fra i professionisti giocando l'incontro di Championship perso 2-0 contro il West Bromwich;[3] il 1º maggio seguente viene nominato miglior delle giovanili dei Villains per la stagione appena conclusa.[4]
Utilizzato solo in due incontri di coppa nella stagione seguente, il 31 gennaio 2020 viene ceduto in prestito al Doncaster dopo aver rinnovato il proprio contratto di ulteriori tre anni e mezzo.[5] Il 4 febbraio debutta con il nuovo club segnando una doppietta nella vittoria per 3-0 contro il Tranmere.[6] Terminato il prestito fa rientro all'Aston Villa con un bilancio di 7 incontri e 3 reti in Football League One, e si unisce al gruppo per i restanti incontri di Premier League, posticipata a causa della Pandemia di COVID-19.[7]
Confermato in rosa per la stagione 2020-2021, il 15 settembre viene schierato per la prima volta da titolare nel corso dell'incontro di coppa di lega vinto 3-1 contro il Burton Albion.[8] Due settimane più tardi debutta in Premier League subentrando a Conor Hourihane a un quarto d'ora dal termine del match vinto 3-0 contro il Fulham[9].
Nazionale
Ha giocato nelle nazionali giovanili inglesi Under-16, Under-18, Under-19 ed Under-21; con quest'ultima rappresentativa nel 2023 ha anche partecipato ai campionati Europei di categoria.