Full Back · Charlotte · season-by-season, by competition, and every match.
Below his 2021/22 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, including a move abroad — 174 appearances with 8 goal contributions from defence.
His best campaign on record is 2021/22 at Derby — Season rating 37, 0 goals and 1 assist in 41 games. 2024/25 was the leap — Season rating up 16 points at Charlotte. Output has held steady across his last 3 full seasons (21 → 26). The gap to his peak is 11 Season points.
2025/26 was disrupted — 14 fixtures missed through injury or absence. Season-to-season output barely moves — his form has stayed within a tight band (±7 points) across 5 campaigns.
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| Major League Soccer | 19 | 1803 | 0 | 0 | 7.0 |
| Leagues Cup | 3 | 22 | 0 | 0 | 6.2 |
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Jan 24 | Friendlies Clubs | A Nashville SC | 0-0 | Not in squad | — | |||
| Jan 29 | Friendlies Clubs | H Sporting Kansas City | 3-2 | Not in squad | — | |||
| Feb 5 | Friendlies Clubs | H North Carolina | 0-1 | Not in squad | — | |||
| Feb 9 | Friendlies Clubs | A Los Angeles Galaxy | 2-2 | Not in squad | — | |||
| Feb 10 | Friendlies Clubs | H Phoenix Rising | 3-2 | Not in squad | — | |||
| Feb 12 | Friendlies Clubs | H Austin | 1-0 | Not in squad | — | |||
| Feb 15 | Friendlies Clubs | H Portland Timbers | 2-0 | Not in squad | — | |||
| Feb 23 | Major League Soccer | A Seattle Sounders | 2-2 | Played | 90 | 6.9 | ||
| Mar 1 | Major League Soccer | H Atlanta United FC | 2-0 | Played | 90 | 7.0 | ||
| Mar 9 | Major League Soccer | A Inter Miami | 0-1 | Played | 90 | 7.0 | ||
| Mar 15 | Major League Soccer | H FC Cincinnati | 2-0 | Played | 90 | 7.5 | ||
| Mar 22 | Major League Soccer | H San Jose Earthquakes | 4-1 | Played | 90 | 7.2 | ||
| Mar 29 | Major League Soccer | A Colorado Rapids | 0-2 | Played | 90 | 6.3 | ||
| Apr 5 | Major League Soccer | H Nashville SC | 2-1 | Played | 90 | 7.2 | ||
| Apr 12 | Major League Soccer | A CF Montreal | 1-0 | Played | 90 | 7.0 | ||
| Apr 19 | Major League Soccer | H San Diego | 3-0 | Not in squad | — | |||
| Apr 26 | Major League Soccer | H New England Revolution | 0-1 | Neck Injury | — | |||
| May 3 | Major League Soccer | A Columbus Crew | 2-4 | Neck Injury | — | |||
| May 6 | US Open Cup | A North Carolina | 4-1 | Not in squad | — | |||
| May 11 | Major League Soccer | A Nashville SC | 1-2 | Neck Injury | — | |||
| May 14 | Major League Soccer | A Orlando City SC | 1-3 | Neck Injury | — | |||
| May 17 | Major League Soccer | H Chicago Fire | 1-4 | Neck Injury | — | |||
| May 21 | US Open Cup | A DC United | 2-2 | Not in squad | — | |||
| May 24 | Major League Soccer | H Columbus Crew | 3-2 | Neck Injury | — | |||
| May 28 | Major League Soccer | A New York Red Bulls | 2-4 | Neck Injury | — | |||
| May 31 | Major League Soccer | A Toronto FC | 2-0 | Neck Injury | — | |||
| Jun 14 | Major League Soccer | A Philadelphia Union | 1-2 | Neck Injury | — | |||
| Jun 26 | Major League Soccer | A Sporting Kansas City | 1-2 | Neck Injury | — | |||
| Jun 29 | Major League Soccer | A Chicago Fire | 2-3 | Neck Injury | — | |||
| Jul 5 | Major League Soccer | H Orlando City SC | 2-2 | Not in squad | — | |||
| Jul 12 | Major League Soccer | H New York City FC | 2-0 | Not in squad | — | |||
| Jul 16 | Major League Soccer | H DC United | 2-1 | Not in squad | — | |||
| Jul 19 | Major League Soccer | A Atlanta United FC | 3-2 | Neck Injury | — | |||
| Jul 26 | Major League Soccer | H Toronto FC | 2-0 | Neck Injury | — | |||
| Jul 31 | Leagues Cup | H FC Juarez | 1-4 | Not in squad | — | |||
| Aug 3 | Leagues Cup | A Guadalajara Chivas | 2-2 | Played | 22 | 6.2 | ||
| Aug 7 | Leagues Cup | A Monterrey | 2-0 | Not in squad | — | |||
| Aug 10 | Major League Soccer | A FC Cincinnati | 1-0 | Played | 88 | 7.0 | ||
| Aug 16 | Major League Soccer | H Real Salt Lake | 1-0 | Played | 90 | 7.0 | ||
| Aug 24 | Major League Soccer | H New York Red Bulls | 1-0 | Played | 90 | 6.9 | ||
| Aug 30 | Major League Soccer | A New England Revolution | 2-1 | Played | 90 | 6.6 | ||
| Sep 13 | Major League Soccer | H Inter Miami | 3-0 | Played | 90 | 7.0 | ||
| Sep 20 | Major League Soccer | A New York City FC | 0-2 | Played | 90 | 6.9 | ||
| Sep 27 | Major League Soccer | H CF Montreal | 1-4 | Played | 90 | 6.3 | ||
| Oct 4 | Major League Soccer | A DC United | 1-0 | Played | 90 | 7.0 | ||
| Oct 18 | Major League Soccer | H Philadelphia Union | 2-0 | Played | 95 | 7.2 | ||
| Oct 28 | Major League Soccer | H New York City FC | 0-1 | Played | 90 | 6.9 | ||
| Nov 1 | Major League Soccer | A New York City FC | 0-0 | Played | 90 | 7.2 | ||
| Nov 8 | Major League Soccer | H New York City FC | 1-3 | Played | 90 | 6.9 |