Tras formarse en las filas inferiores del Rangers F. C. durante ocho años, y posteriormente del Chelsea F. C. Para la temporada 2019-20 Frank Lampard contaría con él para el primer equipo, haciendo su debut en la Supercopa de Europa ante el Liverpool F. C.[2] En la Premier League hizo su debut el 31 de agosto en un encuentro contra el Sheffield United F. C. tras sustituir a Tammy Abraham en el minuto 83, produciéndose un empate a dos.
[3] Su primer partido completo se produjo en septiembre en un encuentro de la FA Cup ante el Grimsby Town F. C. que finalizó con un resultado de 7-1.
[4] Tras dos años en los que jugó un total de 22 partidos oficiales, en julio de 2021 fue cedido una temporada al Norwich City F. C.[5] El 1 de septiembre de 2022 inició una nueva etapa en su carrera después de ser traspasado al Brighton & Hove Albion F. C.[6] En dos años disputó 60 partidos y en agosto de 2024 se marchó a la S. S. C.
[8] El 2 de junio debutó en un amistoso ante Países Bajos que finalizó en empate a dos.
[9] Actualizado al último partido disputado el 3 de noviembre de 2024.