Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2026 - 06/2027 | ![]() | St. Mirren FC | Midfield | 23 | |
| 07/2025 - 06/2026 | ![]() | Airdrieonians FC | Midfield | 7 | |
| 07/2024 - 06/2025 | ![]() | Airdrieonians FC | Midfield | 24 | |
| 07/2023 - 06/2024 | ![]() | Dundee United | Midfield | 26 | |
| 08/2022 - 06/2023 | ![]() | Dunfermline Athletic | Midfield | 11 | |
| 07/2021 - 08/2022 | ![]() | Dundee United | Midfield | 26 | |
| 03/2021 - 06/2021 | ![]() | Montrose FC | Midfield | 20 | |
| 01/2021 - 03/2021 | ![]() | Dundee United | Midfield | 26 | |
| 10/2020 - 01/2021 | ![]() | Montrose FC | Midfield | ||
| 07/2020 - 10/2020 | ![]() | Dundee United | Midfield | 26 | |
| 07/2019 - 06/2020 | ![]() | Dundee United | Midfield | 40 | |
| 07/2018 - 06/2020 | ![]() | Dundee United U18 | Midfield | ||
| 01/2019 - 06/2019 | ![]() | Dundee United | Midfield | 48 |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Premiership | 20 | 12 | 8 | 11 | 944 | - | - | - | 5 | - | - | » All matches | |
| Championship | 95 | 53 | 42 | 43 | 4.817 | 14 | - | 6 | 6 | - | - | » All matches | |
| League One | 34 | 22 | 12 | 11 | 2.144 | 2 | - | - | 1 | - | - | » All matches | |
| FA Cup | 12 | 10 | 2 | 8 | 844 | 3 | - | 1 | - | - | - | » All matches | |
| League Cup | 24 | 13 | 11 | 9 | 1.251 | 4 | - | - | - | - | - | » All matches | |
| Challenge Cup | 6 | 3 | 3 | 2 | 419 | 2 | - | - | - | - | - | » All matches | |
| Playoffs | 7 | 6 | 1 | 4 | 499 | 1 | - | 1 | - | - | - | » All matches | |
| Total | 198 | 119 | 79 | 88 | 10.918 | 26 | - | 8 | 12 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U21 Friendlies | 1 | - | 1 | - | 27 | - | - | - | - | - | - | » All matches |
| Total | 1 | - | 1 | - | 27 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 EURO Qualifiers | 4 | 2 | 2 | 2 | 183 | - | - | - | 1 | - | - | » All matches |
| Total | 4 | 2 | 2 | 2 | 183 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U17 Friendlies | 2 | 2 | - | 1 | 160 | - | - | - | - | - | - | » All matches |
![]() | U17 EURO Qualifiers | 2 | 2 | - | 1 | 157 | 1 | - | - | - | - | - | » All matches |
| Total | 4 | 4 | - | 2 | 317 | 1 | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 4 | 3 | 1 | 1 | 257 | 1 | - | - | - | - | - | » All matches |
| Total | 4 | 3 | 1 | 1 | 257 | 1 | - | - | - | - | - |








