Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2026 - 06/2028 | ![]() | Heart of Midlothian | Defence | 17 | |
| 07/2025 - 06/2026 | ![]() | Heart of Midlothian | Defence | 19 | |
| 07/2023 - 06/2025 | ![]() | Kilmarnock FC | Defence | 17 | |
| 07/2022 - 07/2023 | ![]() | Oxford United | Defence | 4 | |
| 02/2021 - 07/2022 | ![]() | Philadelphia Union | Defence | 4 | |
| 08/2017 - 02/2021 | ![]() | Kilmarnock FC | Defence | 17 | |
| 07/2016 - 08/2017 | ![]() | Newcastle United U21 | Defence | ||
| 01/2017 - 06/2017 | ![]() | Newcastle United | Defence | 37 | |
| 07/2016 - 07/2016 | ![]() | Celtic FC | Defence | 35 | |
| 07/2015 - 06/2016 | ![]() | Kilmarnock FC | Defence | 5 | |
| 01/2015 - 06/2015 | ![]() | Dumbarton FC | Defence | 18 | |
| 07/2014 - 01/2015 | ![]() | Celtic FC | Defence | ||
| 01/2014 - 06/2014 | ![]() | Greenock Morton FC | Defence | ||
| 07/2011 - 01/2014 | ![]() | Celtic FC U19 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Champions League Qual. | 1 | - | 1 | - | 46 | - | - | - | - | - | - | » All matches |
![]() | Europa League Qual. | 6 | 6 | - | - | 529 | 1 | - | - | 1 | - | 1 | » All matches |
![]() | Conference League | 1 | 1 | - | - | 90 | 1 | - | - | - | - | - | » All matches |
![]() | Conference League Qual. | 6 | 6 | - | 1 | 496 | - | - | 1 | 1 | - | - | » All matches |
| FA Cup | 3 | 3 | - | - | 270 | - | - | - | - | - | - | » All matches | |
| League Cup | 1 | - | 1 | - | 74 | - | - | - | - | - | - | » All matches | |
| League One | 39 | 35 | 4 | 4 | 3.155 | - | - | - | 4 | - | - | » All matches | |
| EFL Trophy | 2 | 2 | - | 1 | 165 | 1 | - | - | - | - | - | » All matches | |
| Premiership | 221 | 214 | 7 | 20 | 18.643 | 12 | - | 3 | 19 | 1 | 3 | » All matches | |
| Championship | 15 | 15 | - | - | 1.350 | - | - | - | 1 | - | - | » All matches | |
| FA Cup | 14 | 11 | 3 | 1 | 1.131 | 3 | - | - | - | - | - | » All matches | |
| League Cup | 20 | 18 | 2 | 2 | 1.633 | 3 | - | - | 2 | 1 | - | » All matches | |
![]() | CONCACAF Champions Cup | 1 | - | 1 | - | 24 | - | - | - | - | - | - | » All matches |
| Major League Soccer | 12 | 9 | 3 | - | 826 | - | - | - | - | - | - | » All matches | |
| U.S. Open Cup | 1 | 1 | - | - | 90 | 1 | - | - | - | - | - | » All matches | |
| Total | 343 | 321 | 22 | 29 | 28.522 | 22 | - | - | 28 | 2 | 4 | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
| U21 Premier League 2 Div. 2 | 20 | 19 | 1 | 1 | 1.734 | 3 | - | - | 2 | 1 | - | » All matches | |
| Total | 20 | 19 | 1 | 1 | 1.734 | 3 | - | - | 2 | 1 | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Youth League | 6 | 6 | - | - | 540 | - | - | - | - | - | - | » All matches |
![]() | U19 NextGen Series | 7 | 7 | - | 1 | 627 | - | - | - | - | - | - | » All matches |
| Total | 13 | 13 | - | 1 | 1.167 | - | - | - | - | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | EURO Qualifiers | 1 | 1 | - | - | 90 | 1 | - | 1 | - | - | - | » All matches |
| Total | 1 | 1 | - | - | 90 | 1 | - | 1 | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U21 Friendlies | 2 | 1 | 1 | - | 106 | - | - | - | - | - | - | » All matches |
![]() | U21 EURO Qualifiers | 9 | 9 | - | - | 810 | - | - | - | 1 | - | - | » All matches |
| Total | 11 | 10 | 1 | - | 916 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Friendlies | 2 | 2 | - | - | 180 | - | - | - | - | - | - | » All matches |
![]() | U19 EURO Qualifiers | 5 | 4 | 1 | - | 429 | - | - | - | 2 | - | - | » All matches |
| Total | 7 | 6 | 1 | - | 609 | - | - | - | 2 | - | - |













