plays for Bradford
| Match | Mins | Goals | Assists | Shots (on) | Rating |
|---|---|---|---|---|---|
| Exeter v Bradford Β· May 2, 26 Β· EL1 | 90 | 0 | 0 | β | 6.2 |
| Bradford v Bolton Β· Apr 25, 26 Β· EL1 | 90 | 0 | 0 | β | 7.3 |
| Bradford v Plymouth Β· Apr 21, 26 Β· EL1 | 90 | 0 | 0 | β | 6.5 |
| Barnsley v Bradford Β· Apr 18, 26 Β· EL1 | 90 | 0 | 0 | β | 6.5 |
| Bradford v Stevenage Β· Apr 11, 26 Β· EL1 | 90 | 0 | 0 | β | 6.0 |
| Wycombe v Bradford Β· Apr 6, 26 Β· EL1 | 90 | 0 | 0 | β | 7.5 |
| Bradford v Northampton Β· Apr 3, 26 Β· EL1 | 96 | 0 | 0 | β | 7.3 |
| Burton v Bradford Β· Mar 21, 26 Β· EL1 | 90 | 0 | 0 | β | 6.2 |
| Bradford v Mansfield Β· Mar 17, 26 Β· EL1 | 90 | 0 | 0 | β | 6.5 |
| Wigan v Bradford Β· Mar 14, 26 Β· EL1 | 90 | 0 | 0 | β | 6.3 |
| Port Vale v Bradford Β· Mar 11, 26 Β· EL1 | 90 | 0 | 0 | β | 6.9 |
| Bradford v Leyton Orient Β· Mar 7, 26 Β· EL1 | 90 | 0 | 0 | β | 6.0 |
| Reading v Bradford Β· Feb 28, 26 Β· EL1 | 90 | 0 | 0 | β | 5.5 |
| Bradford v Rotherham Β· Feb 24, 26 Β· EL1 | 90 | 0 | 0 | β | 6.9 |
| AFC Wimbledon v Bradford Β· Feb 21, 26 Β· EL1 | 90 | 0 | 0 | β | 6.2 |
| Match | conceded | duels | duels won | fouls drawn | passes | pens saved | red | saves | yellow |
|---|---|---|---|---|---|---|---|---|---|
| Exeter v Bradford | 1 | β | β | β | 25 | 0 | 0 | 2 | 0 |
| Bradford v Bolton | 1 | β | β | β | 29 | 0 | 0 | 2 | 0 |
| Bradford v Plymouth | 1 | β | β | β | 18 | 0 | 0 | 2 | 0 |
| Barnsley v Bradford | 2 | β | β | β | 20 | 0 | 0 | 2 | 0 |
| Bradford v Stevenage | 1 | β | β | β | 25 | 0 | 0 | β | 0 |
| Wycombe v Bradford | 1 | 2 | 2 | 1 | 22 | 0 | 0 | 2 |
| Season | Team | Apps | Goals | Assists | Minutes | Avg rating |
|---|---|---|---|---|---|---|
| 2025-26 Β· EFL League One | Bradford | 46 | 0 | 0 | 4,146 | 6.73 |
| 2024-25 Β· EFL League Two | Bradford | 46 | 0 | 0 | 4,140 | 7.03 |
| 2023-24 Β· EFL League Two | Bradford | 20 | 0 | 0 | 1,800 | 7.13 |
| 2022-23 Β· Scottish Premiership | Kilmarnock | 28 | 0 | 0 | 2,520 | 6.89 |
only matches where we hold the full stat line β coverage grows as the history backfill runs
| 0 |
| Bradford v Northampton | 0 | β | β | β | 20 | 0 | 0 | 2 | 0 |
| Burton v Bradford | 2 | β | β | β | 19 | 0 | 0 | 3 | 0 |
| Bradford v Mansfield | 1 | β | β | β | 25 | 0 | 0 | β | 0 |
| Wigan v Bradford | 2 | β | β | β | 21 | 0 | 0 | 1 | 0 |
| Port Vale v Bradford | 0 | β | β | β | 16 | 0 | 0 | 1 | 0 |
| Bradford v Leyton Orient | 1 | β | β | β | 34 | 0 | 0 | β | 0 |
| Reading v Bradford | 2 | β | β | β | 21 | 0 | 0 | β | 0 |
| Bradford v Rotherham | 0 | 1 | 1 | 1 | 18 | 0 | 0 | β | 0 |
| AFC Wimbledon v Bradford | 3 | β | β | β | 26 | 0 | 0 | 2 | 0 |