Central midfielder · age 23 · Scotland · 6 ft 0 in (1.83 m) · right foot · contract to May 2029
Career 24 apps · 5 goals · 1 assists · league games since 2021/22
Attributes appear once he has ten full games over this season and last.
Central midfielder 100% · of his last 1 starts
Rating is Sportmonks’ match rating, averaged. League matches only.
89 minutes · 1 starts · 89 a game
From the historical record: Wikidata (CC0) and Wikipedia’s transfer lists (CC BY-SA 4.0), each fee credited to the outlet or club that reported it. Dates are only as exact as the record; “Move” means the type wasn’t recorded. Retrospective record, not Swoop intelligence.
League matches in the competitions we cover, from Sportmonks. Per 90 shown from five full games. Cups, Europe and internationals aren’t included.
| Season | Club | Apps | Minutes | Goals | Assists | Rating |
|---|---|---|---|---|---|---|
| 2025/26 | Leyton OrientLeague One | 1 (1) | 89 | 1 | 0 | 7.36 |
| 2024/25 | Swansea CityChampionship | 15 (2) | 339 | 1 | 0 | 6.76 |
| 2024/25 | Leyton OrientLeague One | 1 (1) | 71 | 3 | 0 | 6.40 |
| 2023/24 | Swansea CityChampionship | 7 (0) | 132 | 0 | 1 | 7.02 |
| 2021/22 | Swansea CityChampionship | 0 (0) | 0 | 0 | 0 | – |
| All 4 seasons | 24 (4) | 631 | 5 | 1 | 6.86 | |
Apps (starts). Ratings are Sportmonks’ match ratings, averaged over the season. League matches in the competitions we cover, from Sportmonks.