plays for Bradford
| Match | Mins | Goals | Assists | Shots (on) | Rating |
|---|---|---|---|---|---|
| AFC Wimbledon v Bradford Β· Feb 21, 26 Β· EL1 | 45 | 0 | 0 | β | 6.5 |
| Huddersfield v Bradford Β· Jan 24, 26 Β· EL1 Β· sub | 45 | 0 | 0 | 2 (1) | 6.7 |
| Bradford v Cardiff Β· Jan 17, 26 Β· EL1 Β· sub | 45 | 0 | 0 | 1 | 6.7 |
| Blackpool v Bradford Β· Jan 4, 26 Β· EL1 Β· sub | 28 | 0 | 0 | β | 6.5 |
| West Brom v Oxford Β· Nov 8, 25 Β· ELC Β· sub | 1 | 0 | 0 | β | β |
| Oxford v Stoke Β· Nov 4, 25 Β· ELC Β· sub | 9 | 0 | 0 | β | 6.3 |
| Oxford v Portsmouth Β· Aug 9, 25 Β· ELC Β· sub | 9 | 0 | 0 | 1 | 6.7 |
| Rotherham v Peterboro Β· May 3, 25 Β· EL1 | 90 | 0 | 0 | 1 | 7.9 |
| Stevenage v Rotherham Β· Apr 27, 25 Β· EL1 | 67 | 0 | 0 | 1 | 6.2 |
| Wigan v Rotherham Β· Apr 21, 25 Β· EL1 | 90 | 0 | 0 | β | 6.9 |
| Rotherham v Mansfield Β· Apr 18, 25 Β· EL1 | 90 | 0 | 0 | β | 6.6 |
| Stockport v Rotherham Β· Apr 12, 25 Β· EL1 | 63 | 0 | 0 | β | 6.2 |
| Bolton v Rotherham Β· Apr 8, 25 Β· EL1 | 90 | 0 | 0 | β | 6.9 |
| Rotherham v Blackpool Β· Apr 5, 25 Β· EL1 | 90 | 0 | 0 | 2 (2) | 8.2 |
| Northampton v Rotherham Β· Apr 1, 25 Β· EL1 | 73 | 0 | 1 | 2 | 6.5 |
| Match | conceded | dribbles past | duels | duels won | fouls committed | fouls drawn | interceptions | key passes | passes | red | tackles | yellow |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AFC Wimbledon v Bradford | 0 | 1 | 10 | 4 | β | β | β | β | 10 | 0 | 4 | 0 |
| Huddersfield v Bradford | 0 | β | 5 | 3 | 1 | 1 | β | β | 11 | 0 | 2 | 0 |
| Bradford v Cardiff | 0 | β | 9 | 3 | 1 | 2 | β | 1 | 22 | 0 | 1 | 0 |
| Blackpool v Bradford | 0 | 1 | 5 | 1 | β | β | β | β | 5 | 0 | 1 | 0 |
| West Brom v Oxford | 0 |
| Season | Team | Apps | Goals | Assists | Minutes | Avg rating |
|---|---|---|---|---|---|---|
| 2025-26 Β· EFL League One | Bradford | 4 | 0 | 0 | 163 | 6.60 |
| 2025-26 Β· EFL Championship | Oxford | 3 | 0 | 0 | 19 | 6.50 |
| 2024-25 Β· EFL League One | Rotherham | 20 | 2 | 1 | 1,364 | 6.83 |
| 2024-25 Β· EFL Championship | Oxford | 11 | 1 | 0 | 164 | 6.58 |
only matches where we hold the full stat line β coverage grows as the history backfill runs
| β |
| β |
| β |
| β |
| β |
| β |
| β |
| 2 |
| 0 |
| β |
| 0 |
| Oxford v Stoke | 0 | β | 1 | β | β | β | β | β | 4 | 0 | β | 0 |
| Oxford v Portsmouth | 0 | β | β | β | β | β | β | β | 7 | 0 | β | 0 |
| Rotherham v Peterboro | 0 | β | 6 | 5 | β | β | 3 | 1 | 25 | 0 | 5 | 0 |
| Stevenage v Rotherham | 0 | β | 4 | β | β | β | β | β | 12 | 0 | β | 0 |
| Wigan v Rotherham | 0 | 3 | 11 | 6 | 2 | β | β | β | 31 | 0 | 4 | 1 |
| Rotherham v Mansfield | 0 | 1 | 6 | 4 | 1 | 2 | 1 | β | 13 | 0 | 1 | 0 |
| Stockport v Rotherham | 0 | β | 3 | β | 1 | β | β | β | 9 | 0 | β | 0 |
| Bolton v Rotherham | 0 | 1 | 8 | 4 | β | 2 | 3 | β | 13 | 0 | β | 0 |
| Rotherham v Blackpool | 0 | β | 11 | 10 | 1 | 2 | β | 1 | 17 | 0 | 6 | 0 |
| Northampton v Rotherham | 0 | 1 | 6 | β | 2 | β | β | 2 | 10 | 0 | β | 0 |