Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 09/2026 - 06/2027 | ![]() | Arbroath FC | Midfield | 17 | |
| 04/2023 - 06/2026 | ![]() | Crystal Palace U21 | Midfield | ||
| 02/2023 - 06/2024 | ![]() | Crystal Palace U18 | Midfield | ||
| 03/2022 - 02/2023 | ![]() | St. Mirren FC | Midfield | 15 | |
| 02/2022 - 02/2022 | ![]() | Queen's Park FC | Midfield | ||
| 07/2021 - 01/2022 | ![]() | St. Mirren FC | Midfield | 15 | |
| 03/2021 - 06/2021 | ![]() | St. Mirren FC | Midfield | 19 | |
| 07/2020 - 06/2021 | ![]() | St. Mirren FC U17 | Midfield | ||
| 07/2019 - 06/2020 | ![]() | St. Mirren FC U16 | Midfield | ||
| 07/2018 - 06/2019 | ![]() | St. Mirren FC U15 | Midfield |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EFL Trophy | 4 | 3 | 1 | - | 329 | - | - | - | 1 | - | - | » All matches | |
| Premiership | 6 | 3 | 3 | 2 | 254 | - | - | - | 1 | - | - | » All matches | |
| Championship | 6 | 5 | 1 | - | 473 | - | - | 1 | - | - | - | » All matches | |
| League One | 2 | - | 2 | - | 54 | - | - | - | 1 | - | - | » All matches | |
| League Cup | 2 | - | 2 | - | 57 | - | - | - | - | - | - | » All matches | |
| Total | 20 | 11 | 9 | 2 | 1.167 | - | - | - | 3 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U21 Premier League International Cup | 13 | 9 | 4 | 4 | 809 | 3 | 2 | 1 | 4 | - | - | » All matches |
| U21 Premier League 2 | 48 | 35 | 13 | 14 | 3.306 | 3 | - | 8 | 10 | - | - | » All matches | |
| Total | 61 | 44 | 17 | 18 | 4.115 | 6 | 2 | 9 | 14 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
| U18 Premier League | 8 | 8 | - | 3 | 675 | - | - | - | 3 | - | - | » All matches | |
| Total | 8 | 8 | - | 3 | 675 | - | - | - | 3 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U20 Friendlies | 1 | - | 1 | - | 45 | - | - | - | - | - | - | » All matches |
| Total | 1 | - | 1 | - | 45 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Friendlies | 2 | 1 | 1 | - | 124 | - | - | - | - | - | - | » All matches |
![]() | U19 EURO Qualifiers | 4 | 3 | 1 | 3 | 239 | - | - | - | - | - | - | » All matches |
| Total | 6 | 4 | 2 | 3 | 363 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U18 Friendlies | 2 | 2 | - | 1 | 151 | - | - | - | 1 | - | - | » All matches |
| Total | 2 | 2 | - | 1 | 151 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U17 Friendlies | 3 | 2 | 1 | - | 225 | - | - | - | - | - | - | » All matches |
![]() | U17 EURO | 3 | 3 | - | - | 270 | - | - | - | - | - | - | » All matches |
![]() | U17 EURO Qualifiers | 6 | 6 | - | 1 | 540 | - | - | - | 1 | - | - | » All matches |
| Total | 12 | 11 | 1 | 1 | 1.035 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 4 | 3 | 1 | 1 | 266 | - | - | - | - | - | - | » All matches |
| Total | 4 | 3 | 1 | 1 | 266 | - | - | - | - | - | - |










