Full Back · St. Louis City · season-by-season, by competition, and every match.
Below his 2020/21 peak but holding a solid level — the platform for a return is there.
The record covers 6 seasons (2020/21–2025/26) across 2 clubs — 130 appearances with 6 goal contributions from defence.
His best campaign on record is 2020/21 at New England Revolution — Season rating 30, 1 goal and 0 assists in 26 games. 2024/25 was the leap — Season rating up 15 points at New England Revolution. Output has held steady across his last 3 full seasons (9 → 14). The gap to his peak is 16 Season points.
2025/26 was disrupted — 9 fixtures missed through injury or absence.
| Season | Club | Apps | G | A | Rating | Season |
|---|---|---|---|---|---|---|
| 2025/26 | St. Louis City | 17 | 0 | 1 | 28 | 14 |
| 2024/25 | New England Revolution | 25 | 1 | 0 | 36 | 25 |
| 2023/24 | New England Revolution | 11 | 1 | 0 | 37 | 9 |
| 2022/23 | New England Revolution | 22 | 1 | 0 | 40 | 18 |
| 2021/22 | New England Revolution | 29 | 1 | 0 | 46 | 28 |
| 2020/21 | New England Revolution | 26 | 1 | 0 | 47 | 30 |
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| Major League Soccer | 17 | 1374 | 0 | 1 | 7.2 |
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Jan 25 | Friendlies Clubs | H New England Revolution | 0-1 | Not in squad | — | |||
| Jan 29 | Friendlies Clubs | A New York Red Bulls | 1-0 | Not in squad | — | |||
| Feb 5 | Friendlies Clubs | H Real Salt Lake | 1-1 | Not in squad | — | |||
| Feb 12 | Friendlies Clubs | H New York City FC | 3-1 | Not in squad | — | |||
| Feb 15 | Friendlies Clubs | H San Jose Earthquakes | 1-2 | Not in squad | — | |||
| Feb 23 | Major League Soccer | H Colorado Rapids | 0-0 | Played | 90 | 7.3 | ||
| Mar 2 | Major League Soccer | A San Diego | 0-0 | Played | 90 | 7.6 | ||
| Mar 9 | Major League Soccer | A Los Angeles Galaxy | 3-0 | Played | 90 | 1 | 7.9 | |
| Mar 16 | Major League Soccer | H Seattle Sounders | 1-0 | Played | 90 | 7.7 | ||
| Mar 22 | Major League Soccer | A Philadelphia Union | 0-1 | Played | 90 | 7.3 | ||
| Mar 30 | Major League Soccer | H Austin | 0-1 | Played | 90 | 7.2 | ||
| Apr 6 | Major League Soccer | A Sporting Kansas City | 0-2 | Played | 90 | 6.3 | ||
| Apr 13 | Major League Soccer | H Columbus Crew | 1-2 | Played | 90 | 6.9 | ||
| Apr 20 | Major League Soccer | H Vancouver Whitecaps | 0-0 | Not in squad | — | |||
| Apr 27 | Major League Soccer | A Los Angeles FC | 2-2 | Injury | — | |||
| May 4 | Major League Soccer | A Seattle Sounders | 1-4 | Hamstring Injury | — | |||
| May 8 | US Open Cup | H Union Omaha | 2-0 | Not in squad | — | |||
| May 11 | Major League Soccer | H San Diego | 1-2 | Hamstring Injury | — | |||
| May 15 | Major League Soccer | H Sporting Kansas City | 2-2 | Played | 12 | 6.7 | ||
| May 18 | Major League Soccer | A Minnesota United FC | 0-3 | Unused sub | 0 | — | ||
| May 21 | US Open Cup | A Minnesota United FC | 2-3 | Not in squad | — | |||
| May 25 | Major League Soccer | A Colorado Rapids | 0-1 | Hamstring Injury | — | |||
| May 31 | Major League Soccer | H San Jose Earthquakes | 2-1 | Played | 45 | 6.9 | ||
| Jun 8 | Major League Soccer | A Portland Timbers | 1-2 | Played | 90 | 7.5 | ||
| Jun 14 | Major League Soccer | H Los Angeles Galaxy | 3-3 | Injury | — | |||
| Jun 26 | Major League Soccer | H Orlando City SC | 2-4 | Hamstring Injury | — | |||
| Jun 29 | Major League Soccer | A Houston Dynamo | 0-1 | Hamstring Injury | — | |||
| Jul 6 | Major League Soccer | A Real Salt Lake | 2-3 | Not in squad | — | |||
| Jul 13 | Major League Soccer | H Portland Timbers | 2-1 | Not in squad | — | |||
| Jul 20 | Major League Soccer | A FC Dallas | 0-3 | Not in squad | — | |||
| Jul 27 | Major League Soccer | H Minnesota United FC | 1-2 | Not in squad | — | |||
| Jul 31 | Friendlies Clubs | H Aston Villa | 1-2 | Not in squad | — | |||
| Aug 10 | Major League Soccer | H Nashville SC | 3-1 | Unused sub | 0 | — | ||
| Aug 17 | Major League Soccer | A Chicago Fire | 2-3 | Played | 57 | 6.7 | ||
| Aug 24 | Major League Soccer | A Vancouver Whitecaps | 2-3 | Played | 90 | 6.7 | ||
| Aug 31 | Major League Soccer | H Houston Dynamo | 2-3 | Played | 90 | 6.7 | ||
| Sep 7 | Major League Soccer | H FC Dallas | 1-1 | Played | 90 | 7.2 | ||
| Sep 13 | Major League Soccer | A CF Montreal | 2-0 | Played | 90 | 7.3 | ||
| Sep 21 | Major League Soccer | A San Jose Earthquakes | 3-1 | Lower-Body Injury | — | |||
| Sep 28 | Major League Soccer | H Los Angeles FC | 0-3 | Lower-Body Injury | — | |||
| Oct 5 | Major League Soccer | A Austin | 3-1 | Played | 90 | 7.6 | ||
| Oct 19 | Major League Soccer | H Real Salt Lake | 2-2 | Not in squad | — |