- Height
- 177 cm
- Shirt
- 99
- Age
- 26
- Preferred foot
- Right
- Country
- Ireland
- Market value
- €499.7k
- Contract end
- 31 May 2028
Premiership · 2026–2027
8Apps
5Starts
453Minutes
1Goals
0Assists
2.14xG
0.23xA
6.6Rating
Player profile
ST
Per-90 percentiles against strikers in Premiership. 50 = average.
Shooting
| Stat | Total | Per 90 | Percentile |
| Goals |
1 |
0.20 |
57
|
| xG |
2.14 |
0.43 |
73
|
| xGOT |
1.96 |
0.39 |
70
|
| xG excl. penalty |
2.14 |
0.43 |
82
|
| Shots |
12 |
2.38 |
41
|
| Shots on target |
7 |
1.39 |
86
|
| Headed shots |
2 |
0.40 |
84
|
Passing
| Stat | Total | Per 90 | Percentile |
| Assists |
0 |
0.00 |
0
|
| xA |
0.23 |
0.05 |
7
|
| Accurate passes |
82 |
16.3 |
23
|
| Pass accuracy |
77.4% |
— |
45
|
| Accurate long balls |
1 |
0.20 |
16
|
| Long ball accuracy |
100.0% |
— |
100
|
| Line-breaking passes |
7 |
1.39 |
21
|
| Chances created |
4 |
0.79 |
21
|
| Big chances created |
1 |
0.20 |
43
|
| Successful crosses |
1 |
0.20 |
23
|
| Cross accuracy |
20.0% |
— |
46
|
Possession
| Stat | Total | Per 90 | Percentile |
| Dribbles |
2 |
0.40 |
12
|
| Dribbles success rate |
100.0% |
— |
100
|
| Duels won |
13 |
2.58 |
2
|
| Duels won % |
29.5% |
— |
2
|
| Aerials won |
5 |
0.99 |
54
|
| Aerials won % |
23.8% |
— |
34
|
| Touches |
174 |
34.6 |
11
|
| Touches in opposition box |
24 |
4.77 |
43
|
| Dispossessed |
3 |
0.60 |
86
|
| Fouls won |
3 |
0.60 |
14
|
Defending
| Stat | Total | Per 90 | Percentile |
| Defensive actions |
13 |
2.58 |
41
|
| Tackles |
3 |
0.60 |
9
|
| Interceptions |
2 |
0.40 |
46
|
| Fouls committed |
6 |
1.19 |
43
|
| Recoveries |
13 |
2.58 |
18
|
| Possession won final 3rd |
5 |
0.99 |
71
|
| Dribbled past |
6 |
1.19 |
16
|
| Clearances |
8 |
1.59 |
82
|
| Clean sheets |
0 |
0.00 |
0
|
| Goals conceded while on pitch |
7 |
1.39 |
46
|
| xG against while on pitch |
8.45 |
1.68 |
36
|
Discipline
| Stat | Total | Per 90 | Percentile |
| Yellow cards |
1 |
0.20 |
36
|
| Red cards |
0 |
0.00 |
100
|
Percentiles are per 90 minutes, against players in the same position in Premiership.
| Season | Team | Apps | G | A | Rating |
| ▸ 2026–2027 |
St. Johnstone |
11 |
2 |
0 |
6.6 |
|
Premiership |
8 |
1 |
0 |
6.6 |
|
League Cup |
3 |
1 |
0 |
— |
| ▸ 2025–2026 |
St. Johnstone |
14 |
5 |
1 |
— |
|
Championship |
13 |
5 |
1 |
— |
|
Challenge Cup |
1 |
0 |
0 |
— |
| ▸ 2025–2026 |
Port Vale |
22 |
6 |
4 |
7.1 |
|
League One |
13 |
1 |
3 |
6.8 |
|
EFL Trophy |
5 |
3 |
1 |
7.5 |
|
FA Cup |
2 |
2 |
0 |
9.2 |
|
EFL Cup |
2 |
0 |
0 |
6.1 |
| ▸ 2024–2025 |
Dundee United |
13 |
0 |
0 |
6.1 |
|
Premiership |
12 |
0 |
0 |
6.1 |
|
Scottish Cup |
1 |
0 |
0 |
— |
| ▸ 2024–2025 |
Port Vale |
24 |
3 |
1 |
6.6 |
|
League Two |
19 |
1 |
1 |
6.5 |
|
EFL Trophy |
3 |
1 |
0 |
— |
|
FA Cup |
1 |
0 |
0 |
— |
|
EFL Cup |
1 |
1 |
0 |
7.7 |
| ▸ 2023–2024 |
Queen's Park |
43 |
22 |
5 |
6.8 |
|
Championship |
36 |
17 |
5 |
6.8 |
|
League Cup |
4 |
4 |
0 |
— |
|
Challenge Cup |
2 |
1 |
0 |
— |
|
Scottish Cup |
1 |
0 |
0 |
— |
| ▸ 2022–2023 |
Queen of the South |
46 |
25 |
6 |
— |
|
League One |
36 |
22 |
5 |
— |
|
League Cup |
5 |
3 |
1 |
— |
|
Challenge Cup |
4 |
0 |
0 |
— |
|
Scottish Cup |
1 |
0 |
0 |
— |
| ▸ 2021–2022 |
Queen of the South |
45 |
8 |
6 |
6.4 |
|
Championship |
34 |
3 |
4 |
6.4 |
|
League Cup |
4 |
2 |
1 |
— |
|
Challenge Cup |
5 |
2 |
1 |
— |
|
Scottish Cup |
2 |
1 |
0 |
— |
| ▸ 2020–2021 |
Stranraer |
30 |
9 |
2 |
— |
|
League Two |
21 |
6 |
1 |
— |
|
League Cup |
4 |
2 |
1 |
— |
|
Scottish Cup |
3 |
1 |
0 |
— |
|
Play-offs 3/4 |
2 |
0 |
0 |
— |
| ▸ 2019–2020 |
East Kilbride |
7 |
3 |
2 |
— |
|
League Cup |
4 |
0 |
1 |
— |
|
Scottish Cup |
3 |
3 |
1 |
— |
| ▸ 2018–2019 |
Gala Fairydean Rovers |
2 |
1 |
0 |
— |
|
Scottish Cup |
2 |
1 |
0 |
— |
St. Johnstone
| Competition | Won | Runner-up |
| Championship ×1 |
2025/2026 |
— |
Hibernian FC Under 20
| Competition | Won | Runner-up |
| FA Youth Cup ×1 |
2017/2018 |
— |
| Development League ×1 |
2017/2018 |
— |