Playing now
Live| Season | Team | Competition | MP | Min | G | A |
|---|---|---|---|---|---|---|
| 2026/27 | Pacific | Canadian Premier League | 12 | 1,080 | 0 | 0 |
| 2025/26 | Pacific | Canadian Premier League | 19 | 1,710 | 0 | 0 |
| 2024/25 | Pacific | Canadian Premier League | 7 | 609 | 0 | 0 |
| 2023/24 | Atlético Ottawa | Canadian Premier League | 6 | 540 | 0 | 0 |
| 2022/23 | Atlético Ottawa | Canadian Premier League | 4 | 273 | 0 | 0 |
| 2021/22 | Colorado Springs Switchbacks | United Soccer League | 25 | 2,250 | 0 | 0 |
| 2020/21 | Colorado Springs Switchbacks | United Soccer League | 11 | 990 | 0 | 0 |
| 2017/18 | Whitecaps FC 2 | United Soccer League | 13 | 1,170 | 0 | 0 |
| 2016/17 | Canada | International Friendlies | 1 | 11 | 0 | 0 |
| 2016/17 | Whitecaps FC 2 | United Soccer League | 8 | 719 | 0 | 0 |
| Total | 10 seasons | 106 | 9,352 | 0 | 0 |
Canadian Championship
2026/27No stats available right now.
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.83 | 46 |
| Save % | 60% | 21 |
| Clean sheets | 8% | 29 |
| High claims | 1.33 | 79 |
| Pass accuracy | 70% | 4 |
| Long passing | 31% | 4 |
| Metric | Total |
|---|---|
| Interceptions | 1 |
| Clearances | 19 |
| Saves | 34 |
| Clean sheets | 1 |
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.21 | 79 |
| Save % | 58% | 21 |
| Clean sheets | 5% | 13 |
| High claims | 0.95 | 54 |
| Pass accuracy | 67% | 21 |
| Long passing | 31% | 13 |
| Metric | Total |
|---|---|
| Dribbles completed | 1 |
| Tackles won | 1 |
| Clearances | 16 |
| Saves | 61 |
| Clean sheets | 1 |
Canadian Championship
2024/25No stats available right now.
Canadian Premier League
2024/25| Metric | Total |
|---|---|
| Clearances | 8 |
| Saves | 24 |
| Clean sheets | 2 |
Canadian Championship
2023/24No stats available right now.
Canadian Premier League
2023/24| Metric | Total |
|---|---|
| Clearances | 4 |
| Saves | 9 |
| Clean sheets | 2 |
Canadian Championship
2022/23No stats available right now.
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.
Small sample so far: few matches played.
| Metric | Value | Percentile |
|---|---|---|
| Saves | 1.98 | 8 |
| Save % | 60% | 17 |
| Clean sheets | 25% | 33 |
| High claims | 0.66 | 25 |
| Pass accuracy | 63% | 33 |
| Long passing | 27% | 0 |
| Metric | Total |
|---|---|
| Clearances | 2 |
| Saves | 6 |
| Clean sheets | 1 |
United Soccer League
2021/22Compared with 57 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 |
|---|---|---|
| Saves | 2.92 | 48 |
| Save % | 66% | 46 |
| Clean sheets | 16% | 32 |
| High claims | 0.56 | 39 |
| Pass accuracy | 62% | 36 |
| Long passing | 31% | 20 |
| Metric | Total |
|---|---|
| Clearances | 36 |
| Saves | 73 |
| Clean sheets | 4 |
United Soccer League
2020/21Compared with 50 players in the same position in 2020/21.
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.36 | 23 |
| Save % | 55% | 11 |
| Clean sheets | 18% | 49 |
| High claims | 0.27 | 19 |
| Pass accuracy | 64% | 51 |
| Long passing | 36% | 40 |
| Metric | Total |
|---|---|
| Dribbles completed | 1 |
| Clearances | 14 |
| Saves | 26 |
| Clean sheets | 2 |
Canadian Championship
2019/20No stats available right now.
Major League Soccer
2019/20No stats available right now.
Canadian Championship
2018/19No stats available right now.
Major League Soccer
2018/19No stats available right now.
MLS All-Star Game
2018/19No stats available right now.
Canadian Championship
2017/18No stats available right now.
Major League Soccer
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 | 3.62 | 85 |
| Save % | 67% | 40 |
| Clean sheets | 15% | 22 |
| High claims | 0.69 | 54 |
| Pass accuracy | 65% | 79 |
| Long passing | 41% | 71 |
| Metric | Total |
|---|---|
| Interceptions | 3 |
| Clearances | 8 |
| Saves | 47 |
| Clean sheets | 2 |
Canadian Championship
2016/17No stats available right now.
CONCACAF Champions Cup
2016/17No stats available right now.
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 | 33 |
| Clean sheets | 2 |
CONCACAF Gold Cup
2015/16No stats available right now.
International Friendlies
2015/16No stats available right now.
International Friendlies
2014/15No stats available right now.
Recent matches
| Match | Min | G | A | Sv | GA | Cl | Pun | Pass | Score |
|---|---|---|---|---|---|---|---|---|---|
| 09/19Vancouver FCE1-1 | 90' | 0 | 0 | 2 | 1 | 1 | 0 | 17/19 | 6.7 |
| 09/13CavalryP0-1 | 90' | 0 | 0 | 2 | 1 | 3 | 0 | 12/26 | 6.3 |
| 09/05AwayAtlético OttawaE0-0 | 90' | 0 | 0 | 4 | 0 | 1 | 0 | 11/14 | 8.4 |
| 08/30HFX WanderersG4-3 | 90' | 0 | 0 | 1 | 3 | 1 | 1 | 17/20 | 5.8 |
| 07/31Supra du QuébecP1-2 | 90' | 0 | 0 | 3 | 2 | 0 | 0 | 8/22 | 6.1 |
| 07/26AwayAtlético OttawaP3-2 | 90' | 0 | 0 | 3 | 3 | 1 | 1 | 20/23 | 6.2 |
| 07/05HFX WanderersP1-2 | 90' | 0 | 0 | 1 | 2 | 0 | 0 | 21/22 | 6.0 |
| 05/03Vancouver FCP1-3 | 90' | 0 | 0 | 2 | 3 | 1 | 1 | 13/17 | 5.8 |
| 04/26ForgeP0-1 | 90' | 0 | 0 | 2 | 1 | 2 | 0 | 15/23 | 6.5 |
| 04/18AwayHFX WanderersE2-2 | 90' | 0 | 0 | 4 | 2 | 3 | 0 | 6/15 | 6.8 |
| 04/11Supra du QuébecP2-3 | 90' | 0 | 0 | 7 | 3 | 2 | 1 | 12/17 | 7.7 |
| 04/05CavalryP1-2 | 90' | 0 | 0 | 4 | 2 | 1 | 0 | 14/21 | 7.0 |
| 10/18ValourP1-4 | 90' | 0 | 0 | 6 | 4 | 1 | 1 | 16/23 | 6.8 |
| 10/09AwayInter TorontoE2-2 | 90' | 0 | 0 | 4 | 2 | 2 | 0 | 26/36 | 7.0 |
| 10/05CavalryE3-3 | 90' | 0 | 0 | 2 | 3 | 1 | 0 | 20/35 | 5.2 |
GER
GRE
ISR
IRL
NOR
POR
GUY
CAY
ALM
NUE
ATL
AGR
DEB
FER
AND
MOR
MIT
STE
PAT
SAM
MAI
TEM
MID
TRI
GUV
IND
ITO
PAC
RAC
BOC
PUM
ASL
CON
CUR
BOL
PAR
CLB
MIA
LEO
FCJ
NCX
CFA
HAI
CRC
CUW
NCA
DMA
PUR
TRI
DOM
RCO
GOD
GTI
ATR
GJU
SMT
BOL
BLO
RTO
ROR
CAW
VAR
UCH
EVE
SCR
OHI
ALI
LIM
FAS
COB
MIX
ANT
JUV
CER


