Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 09/2026 - 06/2027 | ![]() | Airdrieonians FC | Midfield | 16 | |
| 07/2026 - 09/2026 | ![]() | Scunthorpe United | Midfield | 17 | |
| 01/2026 - 06/2026 | ![]() | Scunthorpe United | Midfield | 32 | |
| 07/2025 - 01/2026 | ![]() | Hamilton Academical | Midfield | 8 | |
| 09/2024 - 06/2025 | ![]() | Hamilton Academical | Midfield | 13 | |
| 07/2024 - 09/2024 | ![]() | St. Johnstone FC | Midfield | 21 | |
| 01/2024 - 06/2024 | ![]() | St. Johnstone FC | Midfield | 50 | |
| 01/2024 - 01/2024 | ![]() | Heart of Midlothian | Midfield | ||
| 09/2023 - 01/2024 | ![]() | Scunthorpe United | Midfield | ||
| 07/2023 - 08/2023 | ![]() | Heart of Midlothian | Midfield | 27 | |
| 01/2023 - 06/2023 | ![]() | Hamilton Academical | Midfield | 21 | |
| 07/2022 - 01/2023 | ![]() | Heart of Midlothian | Midfield | 27 | |
| 05/2022 - 01/2023 | ![]() | Heart of Midlothian (R) | Midfield | ||
| 08/2021 - 05/2022 | ![]() | Queen's Park FC | Midfield | ||
| 07/2021 - 08/2021 | ![]() | Heart of Midlothian | Midfield | 27 | |
| 06/2021 - 08/2021 | ![]() | Heart of Midlothian (R) | Midfield | ||
| 01/2021 - 05/2021 | ![]() | Cove Rangers | Midfield | 22 | |
| 09/2020 - 01/2021 | ![]() | Arbroath FC | Midfield | 17 | |
| 01/2020 - 09/2020 | ![]() | Heart of Midlothian (R) | Midfield | ||
| 08/2019 - 12/2019 | ![]() | Cowdenbeath FC | Midfield | ||
| 12/2018 - 08/2019 | ![]() | Heart of Midlothian | Midfield | 45 | |
| 05/2018 - 06/2018 | ![]() | Heart of Midlothian | Midfield | 50 | |
| 07/2017 - 06/2018 | ![]() | Heart of Midlothian (R) | Midfield |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Europa League Qual. | 1 | - | 1 | - | 7 | - | - | - | - | - | - | » All matches |
![]() | Conference League | 4 | 1 | 3 | 1 | 153 | - | - | - | 3 | - | - | » All matches |
| National League | 14 | 5 | 9 | 4 | 463 | - | - | - | 1 | - | - | » All matches | |
| Premiership | 22 | 7 | 15 | 5 | 830 | 1 | - | - | 4 | - | - | » All matches | |
| Championship | 43 | 37 | 6 | 18 | 3.325 | 6 | 2 | 9 | 5 | - | - | » All matches | |
| League One | 56 | 48 | 8 | 14 | 4.314 | 9 | - | 3 | 5 | - | - | » All matches | |
| FA Cup | 6 | 6 | - | 2 | 503 | - | - | 2 | - | - | - | » All matches | |
| League Cup | 13 | 6 | 7 | 4 | 603 | 1 | - | - | 2 | - | - | » All matches | |
| Challenge Cup | 5 | 2 | 3 | 1 | 175 | - | - | - | - | - | - | » All matches | |
| Playoffs | 9 | 8 | 1 | 2 | 854 | 2 | - | - | 3 | - | - | » All matches | |
| Total | 173 | 120 | 53 | 51 | 11.227 | 19 | 2 | - | 23 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U21 Friendlies | 7 | 4 | 3 | 2 | 370 | - | - | - | - | - | - | » All matches |
![]() | U21 EURO Qualifiers | 2 | - | 2 | - | 36 | - | - | - | - | - | - | » All matches |
| Total | 9 | 4 | 5 | 2 | 406 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U17 Friendlies | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches |
![]() | U17 EURO Qualifiers | 6 | 5 | 1 | 5 | 386 | - | - | - | 1 | - | - | » All matches |
| Total | 7 | 6 | 1 | 5 | 476 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 3 | 3 | - | 1 | 246 | - | - | - | - | - | - | » All matches |
| Total | 3 | 3 | - | 1 | 246 | - | - | - | - | - | - |












