Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Bradford | 2026/27 | 1 | 0 | 0 |
| Rotherham | 2026/27 | 9 | 0 | 0 |
| Dunfermline | 2024/25 | 34 | 0 | — |
| Aberdeen U21 | 2021 – 2023 | 3 | 0 | — |
| Malawi | 2021 – 2023 | 1 | 0 | — |
| Partick | 2023/24 | 18 | 0 | — |
| Aberdeen | 2020/21 – 2022/23 | 2 | 0 | — |
| Raith Rovers | 2022/23 | 30 | 0 | — |
| Kelty Hearts | 2021/22 | 27 | 0 | — |
| Cove Rangers | 2020/21 | 7 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jun 2024 | Partick | Aberdeen U21 | — |
| 10 Aug 2023 | Aberdeen U21 | Partick | Loan |
| 1 Jun 2023 | Raith Rovers | Aberdeen U21 | — |
| 28 Jul 2022 | Aberdeen U21 | Raith Rovers | Loan |
| 1 May 2022 | Kelty Hearts | Aberdeen | — |
| 18 Sept 2021 | Aberdeen | Kelty Hearts | — |
| 1 Jul 2021 | Cove Rangers | Aberdeen | — |
| 25 Mar 2021 | Aberdeen | Cove Rangers | Loan |
| 29 Jun 2026 | Dunfermline | Ngwenya Kieran | Free agent |
| 4 Aug 2026 | Dunfermline | Rotherham | Free agent |
| 29 Jun 2026 | Dunfermline | Rotherham | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | EFL Trophy | Bradford | 1 | 1 | 81 | 0 | 0 | 0 | 0 | 6.05 |
| 2026/27 | League Two | Rotherham | 9 | 4 | 419 | 0 | 0 | 1 | 0 | 6.52 |
| 2024/25 | Championship | Dunfermline | 26 | 23 | 1933 | 0 | — | 2 | 0 | — |
| 2024/25 | League Cup | Dunfermline | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2024/25 | Challenge Cup | Dunfermline | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2024/25 | FA Cup | Dunfermline | 2 | 1 | 125 | 0 | — | 0 | 0 | — |
| 2023/24 | Championship | Partick | 16 | 8 | 714 | 0 | — | 0 | 0 | — |
| 2023/24 | League Cup | Partick | 1 | 0 | 24 | 0 | — | 0 | 0 | — |
| 2023/24 | FA Cup | Partick | 1 | 0 | 33 | 0 | — | 0 | 0 | — |
| 2023 | Challenge Cup | Aberdeen U21 | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | Championship | Raith Rovers | 25 | 18 | 1576 | 0 | — | 1 | 0 | — |
| 2022/23 | FA Cup | Raith Rovers | 3 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | Challenge Cup | Raith Rovers | 2 | 2 | 197 | 0 | — | 0 | 0 | — |
| 2021/22 | League Two | Kelty Hearts | 25 | 22 | 1992 | 0 | — | 3 | 1 | — |
| 2021/22 | FA Cup | Kelty Hearts | 2 | 2 | 210 | 0 | — | 1 | 0 | — |
| 2021 | Challenge Cup | Aberdeen U21 | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2021 | Friendlies | Malawi | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2020/21 | Championship | Cove Rangers | 2 | 2 | 210 | 0 | — | 0 | 0 | — |
| 2020/21 | League One | Cove Rangers | 5 | 4 | 305 | 0 | — | 0 | 0 | — |
| 2020/21 | Premiership | Aberdeen | 2 | 0 | 26 | 0 | — | 0 | 0 | 6.30 |
Availability history
No injuries or suspensions recorded.
Trophies
| Competition | Season | Place |
|---|---|---|
| League Two (Scotland) | 2021/2022 | Winner |
| Challenge Cup (Scotland) | 2022/2023 | 2nd Place |
