Playing now
Live| Season | Team | Competition | MP | Min | G | A |
|---|---|---|---|---|---|---|
| 2026/27 | Portland Timbers | Leagues Cup | 3 | 270 | 0 | 0 |
| 2025/26 | Timbers2 | MLS Next Pro | 4 | 359 | 0 | 0 |
| 2024/25 | Timbers2 | MLS Next Pro | 13 | 1,170 | 0 | 0 |
| 2023/24 | Charleston Battery | United Soccer League | 37 | 3,360 | 0 | 0 |
| 2022/23 | Memphis 901 | United Soccer League | 32 | 2,879 | 0 | 0 |
| 2021/22 | San Diego Loyal | United Soccer League | 15 | 1,350 | 0 | 0 |
| 2020/21 | Tacoma Defiance | United Soccer League | 2 | 180 | 0 | 0 |
| 2019/20 | Tacoma Defiance | United Soccer League | 22 | 1,935 | 0 | 0 |
| 2018/19 | USA U20 | Under 20 Internationals | 1 | 90 | 0 | 0 |
| 2016/17 | USA U18 | Under 18 Internationals | 3 | 270 | 0 | 0 |
| 2016/17 | Seattle Sounders FC U17/18 | US Soccer Development Academy U17/18 | 2 | 180 | 0 | 0 |
| Total | 11 seasons | 134 | 12,043 | 0 | 0 |
Major League Soccer
2026/27No stats available right now.
Leagues Cup
2026/27| Metric | Total |
|---|---|
| Clearances | 3 |
| Saves | 6 |
Major League Soccer
2025/26No stats available right now.
US Open Cup
2025/26No stats available right now.
Leagues Cup
2025/26No stats available right now.
MLS Next Pro
2025/26Compared with 57 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.
Small sample so far: few matches played.
| Metric | Value | Percentile |
|---|---|---|
| Saves | 3.01 | 42 |
| Save % | 63% | 39 |
| Clean sheets | 0% | 8 |
| High claims | 0.50 | 44 |
| Pass accuracy | 83% | 88 |
| Long passing | 41% | 61 |
| Metric | Total |
|---|---|
| Clearances | 6 |
| Saves | 12 |
Major League Soccer
2024/25No stats available right now.
Leagues Cup
2024/25No stats available right now.
US Open Cup
2024/25No stats available right now.
MLS Next Pro
2024/25Compared with 60 players in the same position in 2024/25.
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.00 | 33 |
| Save % | 70% | 71 |
| Clean sheets | 23% | 83 |
| High claims | 0.46 | 28 |
| Pass accuracy | 76% | 53 |
| Long passing | 39% | 53 |
| Metric | Total |
|---|---|
| Tackles won | 1 |
| Clearances | 15 |
| Saves | 39 |
| Clean sheets | 3 |
US Open Cup
2023/24No stats available right now.
United Soccer League
2023/24Compared with 38 players in the same position in 2023/24.
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.30 | 30 |
| Save % | 66% | 54 |
| Clean sheets | 35% | 80 |
| High claims | 0.59 | 20 |
| Pass accuracy | 66% | 70 |
| Long passing | 35% | 62 |
| Metric | Total |
|---|---|
| Big chances created | 1 |
| Clearances | 32 |
| Saves | 86 |
| Clean sheets | 13 |
US Open Cup
2022/23No stats available right now.
United Soccer League
2022/23Compared with 49 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.31 | 21 |
| Save % | 69% | 60 |
| Clean sheets | 25% | 59 |
| High claims | 0.59 | 21 |
| Pass accuracy | 62% | 44 |
| Long passing | 37% | 52 |
| Metric | Total |
|---|---|
| Tackles won | 1 |
| Interceptions | 1 |
| Clearances | 28 |
| Saves | 74 |
| Clean sheets | 8 |
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 | 4.07 | 90 |
| Save % | 73% | 83 |
| Clean sheets | 0% | 6 |
| High claims | 0.87 | 76 |
| Pass accuracy | 68% | 66 |
| Long passing | 37% | 54 |
| Metric | Total |
|---|---|
| Big chances created | 1 |
| Clearances | 15 |
| Saves | 61 |
Major League Soccer
2020/21No stats available right now.
MLS is Back Tournament Group Stage
2020/21No stats available right now.
MLS is Back Tournament Knockout Stage
2020/21No stats available right now.
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.
Small sample so far: few matches played.
| Metric | Value | Percentile |
|---|---|---|
| Saves | 5.00 | 98 |
| Save % | 67% | 55 |
| Clean sheets | 0% | 11 |
| High claims | 0.00 | 2 |
| Pass accuracy | 74% | 88 |
| Long passing | 48% | 96 |
| Metric | Total |
|---|---|
| Saves | 10 |
CONCACAF Champions Cup
2019/20No stats available right now.
Major League Soccer
2019/20No stats available right now.
US Open Cup
2019/20No stats available right now.
United Soccer League
2019/20| Metric | Total |
|---|---|
| Clearances | 19 |
| Saves | 97 |
| Clean sheets | 3 |
Under 20 Internationals
2018/19| Metric | Total |
|---|---|
| Clearances | 2 |
| Saves | 1 |
Under 18 Internationals
2016/17| Metric | Total |
|---|---|
| Clearances | 2 |
| Saves | 6 |
US Soccer Development Academy U17/18
2016/17| Metric | Total |
|---|---|
| Saves | 4 |
| Clean sheets | 1 |
US Soccer Development Academy Play-Offs U17/18
2016/17No stats available right now.
Generation Adidas Cup Premier
2015/16No stats available right now.
Recent matches
| Match | Min | G | A | Sv | GA | Cl | Pun | Pass | Score |
|---|---|---|---|---|---|---|---|---|---|
| 08/13Club TijuanaG3-1 | 90' | 0 | 0 | 1 | 1 | 0 | 0 | 20/22 | 6.3 |
| 08/09AwayClub AméricaP3-1 | 90' | 0 | 0 | 2 | 3 | 1 | 0 | 9/18 | 5.4 |
| 08/06PueblaG5-2 | 90' | 0 | 0 | 3 | 2 | 1 | 0 | 22/28 | 6.5 |
| 11/12Phoenix RisingE1-1 | 120' | 0 | 0 | 2 | 1 | 0 | 1 | 14/29 | 6.0 |
| 11/04Louisville CityG2-1 | 90' | 0 | 0 | 2 | 1 | 1 | 1 | 11/23 | 6.2 |
| 10/28Birmingham LegionG2-1 | 90' | 0 | 0 | 2 | 1 | 0 | 1 | 14/18 | 6.4 |
| 10/22Indy ElevenG5-0 | 90' | 0 | 0 | 1 | 0 | 0 | 2 | 14/19 | 7.3 |
| 10/14Birmingham LegionG1-0 | 90' | 0 | 0 | 1 | 0 | 0 | 0 | 3/10 | 6.5 |
| 10/07MiamiP1-2 | 90' | 0 | 0 | 2 | 2 | 0 | 0 | 27/37 | 5.9 |
| 09/30AwayEl Paso LocomotiveP3-2 | 90' | 0 | 0 | 2 | 3 | 0 | 0 | 20/26 | 5.6 |
| 09/16AwayLoudoun UnitedE2-2 | 90' | 0 | 0 | 1 | 2 | 1 | 0 | 25/28 | 5.8 |
| 09/09San Diego LoyalG2-0 | 90' | 0 | 0 | 3 | 0 | 1 | 0 | 16/26 | 7.7 |
| 09/02AwayNew Mexico UnitedG0-1 | 90' | 0 | 0 | 3 | 0 | 1 | 1 | 25/33 | 8.0 |
| 08/26Memphis 901G1-0 | 90' | 0 | 0 | 3 | 0 | 1 | 0 | 23/36 | 7.8 |
| 08/19AwayOrange County SCP2-0 | 90' | 0 | 0 | 2 | 2 | 2 | 0 | 18/21 | 6.5 |
KOR
ENG
BKH
JUV
PFC
ASL
ROM
BAR
SLB
FCB
OL
CHE
LTU
AND
PAN
NZL
ARG
BOL
RBNY
STL
ERI
RSA
MCA
ENS
CRB
USM
CSC
ASO
MCO
JSK
JSS
CAR
RTO
NAL
OP
THS
SFK
ATO
CAV
SFE
SLU
CON
OHI
AGU
ALI
FAS
MED
RIG
CIE
LCH
CPC
OVI
LEV
HUE
CDB
CEE
VIL
GET
CZE
BUL





