Playing now
Live| Season | Team | Competition | MP | Min | G | A |
|---|---|---|---|---|---|---|
| 2026/27 | Vancouver FC | CONCACAF Champions Cup | 2 | 180 | 0 | 0 |
| 2026/27 | Vancouver FC | Canadian Premier League | 21 | 1,890 | 0 | 0 |
| 2025/26 | Vancouver FC | Canadian Premier League | 28 | 2,520 | 0 | 0 |
| 2024/25 | Vancouver FC | Canadian Premier League | 28 | 2,520 | 0 | 0 |
| 2023/24 | Vancouver FC | Canadian Premier League | 27 | 2,430 | 0 | 0 |
| 2022/23 | Pacific | Concacaf League | 4 | 360 | 0 | 0 |
| 2022/23 | Pacific | Canadian Premier League | 28 | 2,520 | 0 | 0 |
| 2021/22 | Pacific | Canadian Premier League | 27 | 2,446 | 0 | 0 |
| 2020/21 | Pacific | Canadian Premier League | 6 | 540 | 0 | 0 |
| 2019/20 | Ottawa Fury | United Soccer League | 32 | 2,910 | 0 | 0 |
| 2018/19 | Ottawa Fury | United Soccer League | 2 | 180 | 0 | 0 |
| 2017/18 | Ottawa Fury | United Soccer League | 32 | 2,880 | 0 | 0 |
| 2016/17 | Canada | International Friendlies | 1 | 45 | 0 | 0 |
| 2016/17 | Rio Grande Valley | United Soccer League | 14 | 1,223 | 0 | 0 |
| Total | 14 seasons | 252 | 22,644 | 0 | 0 |
Canadian Championship
2026/27No stats available right now.
CONCACAF Champions Cup
2026/27| Metric | Total |
|---|---|
| Clearances | 2 |
| Saves | 6 |
Canadian Premier League
2026/27Compared with 12 players in the same position in 2026/27.
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 |
|---|---|---|
| Saves | 2.57 | 33 |
| Save % | 67% | 58 |
| Clean sheets | 10% | 38 |
| High claims | 0.57 | 17 |
| Pass accuracy | 74% | 33 |
| Long passing | 43% | 92 |
| Metric | Total |
|---|---|
| Shots | 1 |
| Dribbles completed | 1 |
| Tackles won | 1 |
| Clearances | 37 |
| Saves | 54 |
| Clean sheets | 2 |
Canadian Championship
2025/26No stats available right now.
Canadian Premier League
2025/26Compared with 12 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 |
|---|---|---|
| Saves | 3.46 | 96 |
| Save % | 63% | 38 |
| Clean sheets | 7% | 21 |
| High claims | 1.00 | 71 |
| Pass accuracy | 68% | 29 |
| Long passing | 41% | 79 |
| Metric | Total |
|---|---|
| Dribbles completed | 2 |
| Clearances | 33 |
| Saves | 97 |
| Clean sheets | 2 |
Canadian Championship
2024/25No stats available right now.
Canadian Premier League
2024/25| Metric | Total |
|---|---|
| Clearances | 20 |
| Saves | 95 |
| Clean sheets | 5 |
Canadian Championship
2023/24No stats available right now.
Canadian Premier League
2023/24| Metric | Total |
|---|---|
| Big chances created | 1 |
| Dribbles completed | 1 |
| Interceptions | 1 |
| Clearances | 24 |
| Saves | 88 |
| Clean sheets | 5 |
Canadian Championship
2022/23No stats available right now.
Concacaf League
2022/23| Metric | Total |
|---|---|
| Clean sheets | 3 |
Canadian Premier League
2022/23Compared with 12 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.
| Metric | Value | Percentile |
|---|---|---|
| Saves | 2.43 | 29 |
| Save % | 67% | 29 |
| Clean sheets | 32% | 50 |
| High claims | 1.00 | 79 |
| Pass accuracy | 73% | 71 |
| Long passing | 38% | 46 |
| Metric | Total |
|---|---|
| Big chances created | 1 |
| Dribbles completed | 1 |
| Interceptions | 2 |
| Clearances | 23 |
| Saves | 68 |
| Clean sheets | 9 |
Canadian Championship
2021/22No stats available right now.
Canadian Premier League
2021/22| Metric | Total |
|---|---|
| Tackles won | 2 |
| Clearances | 27 |
| Saves | 71 |
| Clean sheets | 8 |
Canadian Premier League
2020/21| Metric | Total |
|---|---|
| Clearances | 11 |
| Saves | 22 |
| Clean sheets | 1 |
Canadian Championship
2019/20No stats available right now.
United Soccer League
2019/20Compared with 70 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.
| Metric | Value | Percentile |
|---|---|---|
| Saves | 2.29 | 14 |
| Save % | 65% | 48 |
| Clean sheets | 25% | 66 |
| High claims | 1.33 | 94 |
| Pass accuracy | 52% | 16 |
| Long passing | 35% | 29 |
| Metric | Total |
|---|---|
| Big chances created | 1 |
| Dribbles completed | 1 |
| Clearances | 39 |
| Saves | 74 |
| Clean sheets | 8 |
Canadian Championship
2018/19No stats available right now.
United Soccer League
2018/19Compared with 63 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.
Small sample so far: few matches played.
| Metric | Value | Percentile |
|---|---|---|
| Saves | 3.50 | 84 |
| Save % | 44% | 2 |
| Clean sheets | 0% | 6 |
| High claims | 1.00 | 89 |
| Pass accuracy | 78% | 97 |
| Long passing | 54% | 98 |
| Metric | Total |
|---|---|
| Clearances | 4 |
| Saves | 7 |
Canadian Championship
2017/18No stats available right now.
United Soccer League
2017/18Compared with 56 players in the same position in 2017/18.
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 |
|---|---|---|
| Saves | 2.44 | 21 |
| Save % | 66% | 26 |
| Clean sheets | 22% | 39 |
| High claims | 0.53 | 35 |
| Pass accuracy | 51% | 29 |
| Long passing | 39% | 60 |
| Metric | Total |
|---|---|
| Big chances created | 5 |
| Dribbles completed | 3 |
| Interceptions | 2 |
| Clearances | 22 |
| Saves | 78 |
| Clean sheets | 7 |
Major League Soccer
2016/17No stats available right now.
International Friendlies
2016/17No stats available right now.
United Soccer League
2016/17| Metric | Total |
|---|---|
| Saves | 39 |
| Clean sheets | 7 |
Canadian Championship
2016/17No stats available right now.
North American Soccer League
2016/17No stats available right now.
MLS Combine 2012
2016/17No stats available right now.
International Friendlies
2015/16No stats available right now.
MLS Combine 2012
2015/16No stats available right now.
Recent matches
| Match | Min | G | A | Sv | GA | Cl | Pun | Pass | Score |
|---|---|---|---|---|---|---|---|---|---|
| 09/26ForgeE1-1 | 90' | 0 | 0 | 1 | 1 | 1 | 1 | 20/24 | 6.3 |
| 09/23Inter TorontoE3-3 | 90' | 0 | 0 | 2 | 3 | 0 | 0 | 22/28 | 5.6 |
| 09/19AwayPacificE1-1 | 90' | 0 | 0 | 2 | 1 | 1 | 1 | 17/25 | 6.5 |
| 09/13AwayInter TorontoP3-1 | 90' | 0 | 0 | 3 | 3 | 0 | 2 | 24/26 | 6.2 |
| 09/06Supra du QuébecG3-2 | 90' | 0 | 0 | 3 | 2 | 0 | 0 | 25/29 | 6.7 |
| 08/29AwayCavalryP1-0 | 90' | 0 | 0 | 6 | 1 | 0 | 1 | 18/30 | 7.8 |
| 08/22AwayHFX WanderersP1-0 | 90' | 0 | 0 | 3 | 1 | 0 | 1 | 22/25 | 7.0 |
| 08/14PacificE1-1 | 90' | 0 | 0 | 3 | 1 | 1 | 0 | 20/26 | 6.9 |
| 08/07AwayForgeG0-1 | 90' | 0 | 0 | 7 | 0 | 2 | 2 | 15/30 | 8.9 |
| 08/01Atlético OttawaG3-1 | 90' | 0 | 0 | 4 | 1 | 0 | 1 | 15/26 | 7.0 |
| 07/24CavalryG1-0 | 90' | 0 | 0 | 2 | 0 | 0 | 4 | 27/33 | 7.8 |
| 07/17AwaySupra du QuébecG1-5 | 90' | 0 | 0 | 2 | 1 | 0 | 0 | 17/27 | 6.2 |
| 07/12AwayCF MontréalP2-1 | 90' | 0 | 0 | 5 | 2 | 0 | 0 | 26/35 | 7.1 |
| 07/08CF MontréalP1-2 | 90' | 0 | 0 | 1 | 2 | 0 | 1 | 24/41 | 5.2 |
| 07/01AwayForgeP3-2 | 90' | 0 | 0 | 3 | 3 | 3 | 0 | 31/39 | 6.4 |
CLB
MIA
HAI
CRC
RTO
ROR
SCR
OHI
UTA
NCC
LEO
FCJ
NCX
CFA
CUW
NCA
DMA
PUR
TRI
DOM
GJU
SMT
ALI
LIM
FAS
COB
MIX
ANT
LTU
AZE
AUT
KVX
DEN
WAL
GIB
AND
SRB
NED
GER
GRE
ISR
IRL
NOR
POR
CHN
NZL
MLT
LIE
BOL
PAR
PUM
ASL
MAR
GUY
CAY
ALM
NUE
ATL
AGR
DEB
FER
AND
MOR
MIT
STE



