Playing now
Live| Season | Team | Competition | MP | Min | G | A |
|---|---|---|---|---|---|---|
| 2025/26 | Vancouver FC | Canadian Premier League | 15 | 836 | 0 | 0 |
| 2022/23 | TFC II | MLS Next Pro | 3 | 82 | 0 | 0 |
| 2022/23 | TFC II | MLS NEXT Pro Invitational | 1 | 28 | 0 | 0 |
| 2021/22 | TFC II | USL League One | 15 | 1,141 | 0 | 1 |
| 2019/20 | TFC II | USL League One | 6 | 391 | 0 | 0 |
| 2019/20 | Toronto FC U18/19 | US Soccer Development Academy U18/19 | 2 | 180 | 1 | 0 |
| 2018/19 | Toronto FC U18/19 | US Soccer Development Academy U18/19 | 12 | 957 | 0 | 1 |
| Total | 7 seasons | 54 | 3,615 | 1 | 2 |
Canadian Premier League
2025/26Compared with 54 players in the same position in 2025/26.
Value: per 90 minutes played, except the percentages. Percentile: how many of those players rank below, from 0 to 100. The dotted ring on the chart is the 50th percentile, meaning the average for the position.
| Metric | Value | Percentile |
|---|---|---|
| Chances created | 0.54 | 25 |
| Pass accuracy | 84% | 45 |
| Dribbles | 0.97 | 75 |
| Duels won | 53% | 71 |
| Recoveries | 2.37 | 62 |
| Forward passes | 27.78 | 66 |
| Metric | Total |
|---|---|
| Big chances created | 5 |
| Shots | 10 |
| Dribbles completed | 9 |
| Tackles won | 15 |
| Interceptions | 7 |
| Clearances | 13 |
MLS Next Pro
2022/23Compared with 115 players in the same position in 2022/23.
Value: per 90 minutes played, except the percentages. Percentile: how many of those players rank below, from 0 to 100. The dotted ring on the chart is the 50th percentile, meaning the average for the position.
Small sample so far: few matches played.
| Metric | Value | Percentile |
|---|---|---|
| Chances created | 0.00 | 0 |
| Pass accuracy | 82% | 51 |
| Dribbles | 0.00 | 1 |
| Duels won | 11% | 0 |
| Recoveries | 0.00 | 0 |
| Forward passes | 15.37 | 5 |
| Metric | Total |
|---|---|
| Clearances | 1 |
MLS NEXT Pro Invitational
2022/23| Metric | Total |
|---|---|
| Dribbles completed | 1 |
| Tackles won | 1 |
USL League One
2021/22Compared with 74 players in the same position in 2021/22.
Value: per 90 minutes played, except the percentages. Percentile: how many of those players rank below, from 0 to 100. The dotted ring on the chart is the 50th percentile, meaning the average for the position.
| Metric | Value | Percentile |
|---|---|---|
| Chances created | 0.47 | 18 |
| Pass accuracy | 85% | 70 |
| Dribbles | 1.03 | 71 |
| Duels won | 48% | 43 |
| Recoveries | 1.50 | 16 |
| Forward passes | 27.69 | 75 |
| Metric | Total |
|---|---|
| Assists | 1 |
| Big chances created | 6 |
| Shots | 17 |
| Dribbles completed | 13 |
| Tackles won | 11 |
| Interceptions | 8 |
| Clearances | 11 |
Canadian Championship
2020/21No stats available right now.
USL League One
2019/20Compared with 60 players in the same position in 2019/20.
Value: per 90 minutes played, except the percentages. Percentile: how many of those players rank below, from 0 to 100. The dotted ring on the chart is the 50th percentile, meaning the average for the position.
Small sample so far: few matches played.
| Metric | Value | Percentile |
|---|---|---|
| Chances created | 1.61 | 85 |
| Pass accuracy | 78% | 28 |
| Dribbles | 3.45 | 98 |
| Duels won | 57% | 93 |
| Recoveries | 2.30 | 63 |
| Forward passes | 28.77 | 78 |
| Metric | Total |
|---|---|
| Big chances created | 7 |
| Shots | 5 |
| Dribbles completed | 15 |
| Tackles won | 4 |
| Interceptions | 6 |
| Clean sheets | 1 |
US Soccer Development Academy U18/19
2019/20Compared with 414 players in the same position in 2019/20.
Value: per 90 minutes played, except the percentages. Percentile: how many of those players rank below, from 0 to 100. The dotted ring on the chart is the 50th percentile, meaning the average for the position.
Small sample so far: few matches played.
| Metric | Value | Percentile |
|---|---|---|
| Chances created | 1.00 | 50 |
| Pass accuracy | 80% | 76 |
| Dribbles | 1.00 | 52 |
| Duels won | 38% | 8 |
| Recoveries | 2.50 | 51 |
| Forward passes | 42.00 | 99 |
| Metric | Total |
|---|---|
| Goals | 1 |
| Big chances created | 2 |
| Shots | 9 |
| Dribbles completed | 2 |
| Tackles won | 2 |
| Interceptions | 3 |
| Clearances | 2 |
| Clean sheets | 1 |
US Soccer Development Academy U18/19
2018/19Compared with 472 players in the same position in 2018/19.
Value: per 90 minutes played, except the percentages. Percentile: how many of those players rank below, from 0 to 100. The dotted ring on the chart is the 50th percentile, meaning the average for the position.
| Metric | Value | Percentile |
|---|---|---|
| Chances created | 1.69 | 84 |
| Pass accuracy | 82% | 85 |
| Dribbles | 1.03 | 56 |
| Duels won | 51% | 55 |
| Recoveries | 2.16 | 33 |
| Forward passes | 39.03 | 96 |
| Metric | Total |
|---|---|
| Assists | 1 |
| Big chances created | 18 |
| Shots | 15 |
| Dribbles completed | 11 |
| Tackles won | 11 |
| Interceptions | 12 |
| Clearances | 6 |
| Clean sheets | 3 |
US Soccer Development Academy Playoffs U18/19
2018/19No stats available right now.
Generation Adidas Cup Champions
2017/18No stats available right now.
US Soccer Development Academy U16/17
2017/18No stats available right now.
US Soccer DA Summer Showcase U16/17
2017/18No stats available right now.
Recent matches
| Match | Min | G | A | KP | Drb | Duel | Rec | Tkl | Pass | Score |
|---|---|---|---|---|---|---|---|---|---|---|
| 08/04AwayHFX WanderersG1-2 | 25' | 0 | 0 | 0 | 0 | 3 | 0 | 1 | 2/5 | 5.7 |
| 07/25ValourP1-3 | 72' | 0 | 0 | 0 | 2 | 3 | 3 | 0 | 32/38 | 6.5 |
| 07/19AwayInter TorontoP4-0 | 90' | 0 | 0 | 1 | 2 | 6 | 4 | 2 | 48/58 | 7.2 |
| 07/13CavalryE0-0 | 1' | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/1 | 6.0 |
| 07/08AwayCavalryE1-1 | 62' | 0 | 0 | 0 | 0 | 3 | 3 | 2 | 19/26 | 6.4 |
| 07/05AwayForgeP2-1 | 14' | 0 | 0 | 1 | 0 | 2 | 1 | 1 | 12/16 | 6.7 |
| 06/27AwayPacificE4-4 | 57' | 0 | 0 | 0 | 0 | 6 | 5 | 2 | 24/29 | 6.9 |
| 06/21AwayHFX WanderersP1-0 | 87' | 0 | 0 | 0 | 1 | 2 | 3 | 0 | 32/36 | 6.3 |
| 06/15ForgeP0-2 | 57' | 0 | 0 | 1 | 1 | 2 | 4 | 1 | 28/31 | 6.8 |
| 06/04AwayValourP3-1 | 6' | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8/8 | 5.8 |
| 05/30Atlético OttawaE2-2 | 7' | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 4/6 | 5.9 |
| 05/25AwayInter TorontoP1-0 | 69' | 0 | 0 | 0 | 0 | 1 | 2 | 1 | 27/32 | 5.6 |
| 05/21CavalryE1-1 | 59' | 0 | 0 | 0 | 0 | 4 | 3 | 2 | 13/18 | 6.3 |
| 05/17HFX WanderersP0-2 | 90' | 0 | 0 | 0 | 2 | 8 | 5 | 3 | 52/58 | 7.5 |
| 05/06AwayPacificE1-1 | 56' | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 19/26 | 6.2 |
ATL
ALI
SOM
SEB
NED
BEL
IRL
NED
FIN
ALB
BLR
SMR
CRO
ENG
EST
LUX
ISL
BUL
MKD
SCO
ESP
CZE
SUI
SVN
IND
BRA
RUS
NAM
CAN
PER
CIV
CMR
ARG
BFA
USA
MEX
INT
TUR
FEN
ANA
ATL
RBB
DYJ
SLO
TUC
BAC
NOB
LAN
VIN
BLZ
PAR
APO
VLL
ACA
CBO
COL
CAS
MOR
ALL
SMG
MIT
