Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 01/2025 - 12/2026 | ![]() | Shelbourne FC | Midfield | 23 | |
| 08/2023 - 06/2024 | ![]() | Partick Thistle | Midfield | 7 | |
| 07/2022 - 08/2023 | ![]() | Kilmarnock FC | Midfield | 21 | |
| 01/2022 - 06/2022 | ![]() | Ayr United | Midfield | ||
| 01/2022 - 01/2022 | ![]() | Celtic FC | Midfield | 46 | |
| 09/2021 - 01/2022 | ![]() | Airdrieonians FC | Midfield | 2 | |
| 07/2021 - 09/2021 | ![]() | Celtic FC | Midfield | ||
| 09/2020 - 06/2021 | ![]() | Dunfermline Athletic | Midfield | 24 | |
| 11/2018 - 09/2020 | ![]() | Celtic FC | Midfield | 55 | |
| 07/2016 - 06/2018 | ![]() | Celtic FC U19 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Champions League Qual. | 4 | 4 | - | 1 | 332 | - | - | - | - | - | - | » All matches |
![]() | Europa League Qual. | 2 | 2 | - | 2 | 176 | - | - | - | - | - | - | » All matches |
![]() | Conference League | 6 | 6 | - | 1 | 532 | - | - | - | 1 | - | - | » All matches |
![]() | Conference League Qual. | 6 | 5 | 1 | 4 | 384 | - | - | - | - | - | - | » All matches |
| Premier Division | 62 | 56 | 6 | 21 | 4.659 | 6 | - | 3 | 9 | - | - | » All matches | |
| FAI Cup | 1 | - | 1 | - | 45 | - | - | - | 1 | - | - | » All matches | |
| President's Cup | 1 | 1 | - | 1 | 73 | - | - | - | - | - | - | » All matches | |
| Premiership | 12 | 7 | 5 | 4 | 572 | - | - | - | - | - | - | » All matches | |
| Championship | 61 | 54 | 7 | 26 | 4.450 | 6 | - | 12 | 5 | - | - | » All matches | |
| League One | 12 | 12 | - | 2 | 1.047 | 4 | - | - | 1 | - | - | » All matches | |
| FA Cup | 5 | 4 | 1 | 3 | 321 | 1 | - | 1 | - | - | - | » All matches | |
| League Cup | 8 | 7 | 1 | 1 | 684 | 1 | - | 2 | - | - | - | » All matches | |
| Playoffs | 4 | 3 | 1 | 3 | 211 | - | - | - | - | - | - | » All matches | |
| Total | 184 | 161 | 23 | 69 | 13.486 | 18 | - | 18 | 17 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Youth League | 7 | 6 | 1 | - | 570 | 1 | - | - | 2 | - | - | » All matches |
| Total | 7 | 6 | 1 | - | 570 | 1 | - | - | 2 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U21 EURO Qualifiers | 1 | - | 1 | - | 20 | - | - | - | - | - | - | » All matches |
| Total | 1 | - | 1 | - | 20 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Friendlies | 3 | 3 | - | - | 270 | - | - | - | - | - | - | » All matches |
![]() | U19 EURO Qualifiers | 7 | 4 | 3 | 2 | 394 | 1 | - | - | 1 | - | - | » All matches |
| Total | 10 | 7 | 3 | 2 | 664 | 1 | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U17 EURO | 2 | 2 | - | 1 | 153 | - | - | - | 1 | - | - | » All matches |
![]() | U17 EURO Qualifiers | 6 | 6 | - | 2 | 480 | 2 | - | - | 2 | - | - | » All matches |
| Total | 8 | 8 | - | 3 | 633 | 2 | - | - | 3 | - | - |










