- Height
- 177 cm
- Shirt
- 46
- Age
- 29
- Preferred foot
- Right
- Country
- Canada
- Market value
- €4.4m
- Contract end
- 30 June 2028
Player profile
The radar needs 450+ minutes in Championship (428 so far).
Shooting
| Stat | Total | Per 90 |
| Goals |
1 |
0.21 |
| xG |
0.21 |
0.05 |
| xGOT |
0.11 |
0.02 |
| xG excl. penalty |
0.21 |
0.05 |
| Shots |
4 |
0.84 |
| Shots on target |
2 |
0.42 |
| Headed shots |
1 |
0.21 |
Passing
| Stat | Total | Per 90 |
| Assists |
1 |
0.21 |
| xA |
0.35 |
0.07 |
| Accurate passes |
254 |
53.4 |
| Pass accuracy |
86.7% |
— |
| Accurate long balls |
14 |
2.94 |
| Long ball accuracy |
56.0% |
— |
| Line-breaking passes |
3 |
0.63 |
| Chances created |
8 |
1.68 |
| Successful crosses |
3 |
0.63 |
| Cross accuracy |
27.3% |
— |
Possession
| Stat | Total | Per 90 |
| Dribbles |
2 |
0.42 |
| Dribbles success rate |
33.3% |
— |
| Duels won |
11 |
2.31 |
| Duels won % |
34.4% |
— |
| Aerials won |
1 |
0.21 |
| Aerials won % |
14.3% |
— |
| Touches |
360 |
75.7 |
| Touches in opposition box |
10 |
2.10 |
| Dispossessed |
3 |
0.63 |
| Fouls won |
3 |
0.63 |
Defending
| Stat | Total | Per 90 |
| Defensive actions |
16 |
3.36 |
| Tackles |
5 |
1.05 |
| Interceptions |
3 |
0.63 |
| Blocked scoring attempt |
1 |
0.21 |
| Fouls committed |
3 |
0.63 |
| Recoveries |
7 |
1.47 |
| Dribbled past |
5 |
1.05 |
| Clearances |
7 |
1.47 |
| Clean sheets |
2 |
0.42 |
| Goals conceded while on pitch |
3 |
0.63 |
| xG against while on pitch |
5.43 |
1.14 |
Discipline
| Stat | Total | Per 90 |
| Yellow cards |
0 |
0.00 |
| Red cards |
0 |
0.00 |
Percentiles appear after 450 minutes in a competition.
| Season | Team | Apps | G | A | Rating |
| ▸ 2026–2027 |
Swansea City |
7 |
1 |
1 |
7.0 |
|
Championship |
7 |
1 |
1 |
7.0 |
| ▸ 2026–2027 |
FC Porto |
1 |
0 |
0 |
— |
|
Liga Portugal |
1 |
0 |
0 |
— |
| ▸ 2026 |
Los Angeles FC |
14 |
1 |
1 |
6.7 |
|
MLS |
10 |
1 |
1 |
6.9 |
|
CONCACAF Champions Cup |
4 |
0 |
0 |
6.4 |
| ▸ 2025–2026 |
FC Porto |
19 |
0 |
0 |
6.4 |
|
Liga Portugal |
8 |
0 |
0 |
6.3 |
|
League Cup |
1 |
0 |
0 |
6.8 |
|
Taca de Portugal |
3 |
0 |
0 |
— |
|
Europa League |
4 |
0 |
0 |
6.5 |
|
FIFA Club World Cup |
3 |
0 |
0 |
6.4 |
| ▸ 2024–2025 |
FC Porto |
42 |
2 |
2 |
6.9 |
|
Liga Portugal |
30 |
0 |
0 |
6.9 |
|
League Cup |
2 |
1 |
0 |
— |
|
Taca de Portugal |
1 |
0 |
0 |
— |
|
Super Cup |
1 |
0 |
1 |
— |
|
Europa League |
8 |
1 |
1 |
7.0 |
| ▸ 2023–2024 |
FC Porto |
40 |
3 |
2 |
7.1 |
|
Liga Portugal |
28 |
2 |
2 |
7.1 |
|
League Cup |
1 |
0 |
0 |
— |
|
Taca de Portugal |
2 |
0 |
0 |
— |
|
Super Cup |
1 |
0 |
0 |
6.9 |
|
Champions League |
8 |
1 |
0 |
7.0 |
| ▸ 2022–2023 |
FC Porto |
44 |
7 |
5 |
7.2 |
|
Liga Portugal |
29 |
2 |
5 |
7.2 |
|
League Cup |
2 |
2 |
0 |
— |
|
Taca de Portugal |
5 |
1 |
0 |
— |
|
Super Cup |
1 |
0 |
0 |
6.3 |
|
Champions League |
7 |
2 |
0 |
7.4 |
| ▸ 2021–2022 |
FC Porto |
11 |
0 |
0 |
7.0 |
|
Liga Portugal |
8 |
0 |
0 |
7.0 |
|
Taca de Portugal |
1 |
0 |
0 |
— |
|
Europa League |
2 |
0 |
0 |
7.1 |
| ▸ 2021–2022 |
Paços de Ferreira |
21 |
0 |
1 |
7.0 |
|
Liga Portugal |
17 |
0 |
1 |
7.0 |
|
League Cup |
1 |
0 |
0 |
— |
|
Conference League |
3 |
0 |
0 |
— |
| ▸ 2020–2021 |
Paços de Ferreira |
35 |
2 |
1 |
7.0 |
|
Liga Portugal |
32 |
2 |
1 |
7.0 |
|
League Cup |
1 |
0 |
0 |
— |
|
Taca de Portugal |
2 |
0 |
0 |
— |
| ▸ 2019–2020 |
Paços de Ferreira |
17 |
0 |
0 |
6.2 |
|
Liga Portugal |
16 |
0 |
0 |
6.2 |
|
Taca de Portugal |
1 |
0 |
0 |
— |
| ▸ 2018–2019 |
Cruz Azul |
2 |
0 |
0 |
— |
|
Liga MX |
1 |
0 |
0 |
— |
|
Copa MX |
1 |
0 |
0 |
— |
| ▸ 2018–2019 |
Chaves |
21 |
1 |
0 |
6.4 |
|
Liga Portugal |
16 |
0 |
0 |
6.4 |
|
League Cup |
3 |
1 |
0 |
— |
|
Taca de Portugal |
2 |
0 |
0 |
— |
| ▸ 2017–2018 |
Chaves |
13 |
1 |
0 |
6.8 |
|
Liga Portugal |
13 |
1 |
0 |
6.8 |
| ▸ 2017–2018 |
Leixões |
25 |
0 |
0 |
— |
|
Liga Portugal 2 |
20 |
0 |
0 |
— |
|
League Cup |
4 |
0 |
0 |
— |
|
Taca de Portugal |
1 |
0 |
0 |
— |
| ▸ 2016–2017 |
Torreense |
33 |
0 |
0 |
— |
|
Taca de Portugal |
2 |
0 |
0 |
— |
|
Campeonato de Portugal Prio |
31 |
0 |
0 |
— |
| ▸ 2015–2016 |
Torreense |
24 |
0 |
0 |
— |
|
Campeonato de Portugal Prio |
24 |
0 |
0 |
— |
| ▸ 2014–2015 |
Torreense |
1 |
0 |
0 |
— |
|
Campeonato de Portugal Prio |
1 |
0 |
0 |
— |
FC Porto
| Competition | Won | Runner-up |
| Taça de Portugal ×3 |
2023/2024, 2022/2023, 2021/2022 |
— |
| Super Cup ×3 |
2026/2027, 2024/2025, 2022/2023 |
1 |
| Liga Portugal ×1 |
2021/2022 |
1 |
| League Cup ×1 |
2022/2023 |
— |
Cruz Azul
| Competition | Won | Runner-up |
| Copa MX ×1 |
2018/2019 |
— |
| Supercopa MX ×1 |
2019 |
— |
| Leagues Cup 2019-2022 ×1 |
2019 |
— |