Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2025 - 06/2027 | ![]() | Glentoran FC | Midfield | 17 | |
| 01/2024 - 12/2024 | ![]() | Shelbourne FC | Midfield | 67 | |
| 01/2023 - 12/2023 | ![]() | Shamrock Rovers | Midfield | 27 | |
| 02/2021 - 12/2022 | ![]() | Bohemian FC | Midfield | 11 | |
| 08/2019 - 06/2020 | ![]() | Celtic FC (R) | Midfield | ||
| 01/2019 - 06/2019 | ![]() | Rangers FC (R) | Midfield | 39 | |
| 08/2018 - 01/2019 | ![]() | Alloa Athletic | Midfield | 12 | |
| 07/2018 - 08/2018 | ![]() | Rangers FC | Midfield | 39 | |
| 02/2018 - 06/2018 | ![]() | Dumbarton FC | Midfield | 31 | |
| 07/2016 - 06/2017 | ![]() | Rangers FC | Midfield | 52 | |
| 07/2015 - 06/2016 | ![]() | Rangers FC U19 | Midfield | ||
| 07/2015 - 06/2016 | ![]() | Rangers FC | Midfield | 62 |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Conference League Qual. | 10 | 8 | 2 | 6 | 707 | 1 | - | - | - | - | - | » All matches |
| Premier Division | 109 | 81 | 28 | 49 | 7.303 | 18 | - | 2 | 11 | - | - | » All matches | |
| FAI Cup | 7 | 5 | 2 | 2 | 493 | 1 | - | - | - | - | - | » All matches | |
| President's Cup | 1 | 1 | - | 1 | 46 | - | - | - | - | - | - | » All matches | |
| Premier League | 29 | 17 | 12 | 13 | 1.540 | 2 | - | - | 3 | - | - | » All matches | |
| League Cup | 1 | - | 1 | - | 46 | - | - | - | - | - | - | » All matches | |
| Premiership | 1 | - | 1 | - | 1 | - | - | - | - | - | - | » All matches | |
| Championship | 24 | 7 | 17 | 5 | 835 | 1 | - | - | - | - | - | » All matches | |
| Playoffs | 4 | - | 4 | - | 115 | - | - | - | - | - | - | » All matches | |
| Total | 186 | 119 | 67 | 76 | 11.086 | 23 | - | - | 14 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U21 Friendlies | 3 | 1 | 2 | 1 | 146 | - | - | - | - | - | - | » All matches |
![]() | U21 EURO Qualifiers | 2 | 1 | 1 | - | 118 | - | - | - | 1 | - | - | » All matches |
| Total | 5 | 2 | 3 | 1 | 264 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Friendlies | 1 | - | 1 | - | 13 | - | - | - | - | - | - | » All matches |
![]() | U19 EURO Qualifiers | 6 | 3 | 3 | - | 335 | - | - | - | 3 | - | - | » All matches |
| Total | 7 | 3 | 4 | - | 348 | - | - | - | 3 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U17 EURO | 5 | 5 | - | 1 | 409 | - | - | - | 1 | - | 1 | » All matches |
![]() | U17 EURO Qualifiers | 4 | 4 | - | - | 360 | - | - | - | - | - | - | » All matches |
| Total | 9 | 9 | - | 1 | 769 | - | - | - | 1 | - | 1 | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 1 | 1 | - | 1 | 74 | - | - | - | - | - | - | » All matches |
| Total | 1 | 1 | - | 1 | 74 | - | - | - | - | - | - |












