| | 2023 British Cycling XC National Series #3 | | Holywell Estate | Elite | | 18 | Dyson Cycles | DNF / 26 | 0% | DNF | 1h23:30.00 | - | - | - | |
| | 2023 British Cycling XC National Series #2 | | Margam Park | Elite | | 15 | Dyson Cycles | 24 / 28 | 15% | 1h39:08.00 | 1h35:40.00 | 3.6% | - | - | |
| | 2023 British Cycling XC National Series #1 | | Tong | Elite | | 19 | | 16 / 25 | 38% | 1h25:38.40 | 1h21:40.40 | 4.9% | - | - | |
| | 2022 British Cycling CX National Trophy Series #6 | | Cyclopark | 18+ | | 56 | Dyson Cycles | 30 / 55 | 46% | 48:56.00 | 27:30.00 | 77.9% | - | - | |
| | 2022/23 Miche Wessex CX League #10 | | Dalton Barracks | 18+ | | 862 | Dyson Cycles | 3 / 63 | 97% | 53:27.18 | 52:56.14 | 1% | - | - | |
| | 2022 British Cycling XC National Series - Schwalbe #4 | | Cannock Chase | Elite | | 23 | Dyson Cycles | 29 / 36 | 20% | 1h37:08.00 | 1h23:29.00 | 16.4% | - | - | |
| | 2022 Central XC #1 | | Checkendon | Elite | | 374 | Dyson Cycles | 2 / 5 | 75% | 1h15:18.10 | 1h13:29.50 | 2.5% | - | - | |
| | 2022 British Cycling XC National Series - Schwalbe #2 | | Newcastleton | Elite | | 26 | Dyson Cycles | 24 / 31 | 23% | 1h49:01.80 | 1h35:36.60 | 14% | - | - | |
| | 2022 British Cycling XC National Series - Schwalbe #1 | | Tong | Elite | | 25 | Dyson Cycles | 23 / 31 | 27% | 1h25:39.40 | 1h10:10.50 | 22.1% | - | - | |
| | 2022 Southern XC #1 | | Matterley Estate | Elite | | 548 | Dyson Cycles | 7 / 11 | 40% | 1h26:00.80 | 1h19:51.90 | 7.7% | - | - | |
| | 2022 Crank It Cycling #2 | | Shrublands Park | Elite | | 421 | Dyson Cycles | 2 / 2 | 0% | 1h45:53.00 | 1h33:33.00 | 13.2% | - | - | |
| | 2021/22 Brass Monkeys XC Enduro #2 | | Caesar's Camp | 2hr | | 2220 | Dyson Cycles | 3 / 34 | 94% | 1h48:17.00 | 1h43:39.00 | 4.5% | - | - | |
| | 2021 HSBC UK | CX National Trophy Series #2 | | Westmorland County Showground | Elite | | 55 | Dyson Cycles | 53 / 72 | 27% | -6LAP | 1h05:16.00 | - | - | - | |
| | 2021 HSBC UK | CX National Trophy Series #1 | | Moorways Leisure Centre, Derbyshire | U23 | | 52 | Dyson Cycles | 34 / 45 | 25% | -4LAP | 1h02:16.70 | - | - | - | |
| | 2021 HSBC UK | XC National Series #5 | | Cannock Chase | Expert | | 103 | Dyson Cycles | 3 / 30 | 93% | 1h36:26.30 | 1h35:57.30 | 0.5% | - | - | |
| | 2021 HSBC UK | XC National Series #4 | | Newcastleton | Expert | | 104 | Dyson Cycles | 3 / 21 | 90% | 1h21:57.60 | 1h15:45.00 | 8.2% | - | - | |
| | 2021 HSBC UK | XC National Series #3 | | Gaddon's Farm, New Forest | Expert | | 108 | Dyson Cycles | 4 / 20 | 84% | 1h29:44.00 | 1h24:17.00 | 6.5% | - | - | |
| | British Cycling - UK XC National Champs '21 | | Newnham Park | U23 | | 71 | Dyson Cycles | 7 / 20 | 68% | 1h20:16.20 | 1h13:14.80 | 9.6% | - | - | |
| | 2021 HSBC UK | XC National Series #2 | | Sunnybank Farm | Expert | | 108 | Dyson Cycles | 16 / 25 | 38% | - | 2h08:32.80 | - | - | - | |
| | Southern XC - Central XC Champs | | Checkendon | Expert | | 2292 | Dyson Cycles | 3 / 15 | 86% | 1h27:33.60 | 1h26:51.20 | 0.8% | - | - | |
| | Southern XC - South East XC Champs | | Pippingford | Expert | | 2194 | Dyson Cycles | 3 / 10 | 78% | 1h29:17.30 | 1h21:38.10 | 9.4% | - | - | |
| | 2021 HSBC UK | XC National Series #1 | | Woody's Bike Park | Expert | | 112 | Dyson Cycles | 10 / 28 | 67% | 1h30:11.70 | 1h23:28.00 | 8.1% | - | - | |
| | 2021 Mud Sweat & Gears XC - Eastern #2 | | Twisted Oaks Bike Park | Division 1 | | 243 | Dyson Cycles | 2 / 29 | 96% | 1h35:59.00 | 1h35:01.00 | 1% | - | - | |
| | 2021 Southern XC #3 | | Folly Farm | Expert | | 1578 | Dyson Cycles | 3 / 13 | 83% | 35:51.20 | 32:03.00 | 11.9% | - | - | |
| | 2021 Mud Sweat & Gears XC - Eastern #1 | | Haughley Park | Division 1 | | 243 | Dyson Cycles | 5 / 41 | 90% | - | 1h43:00.00 | - | - | - | |
| | 2021 Southern XC #1 | | Checkendon | Expert | | 609 | Dyson Cycles | 2 / 14 | 92% | 1h19:26.60 | 1h18:11.40 | 1.6% | - | - | |
| | 2021 TORQ Breakout #1 | | Highlands Farm | Day 2 PM 1.5hr | | 668 | Dyson Cycles | 1 / 11 | 100% | 1h14:53.00 | 1h14:53.00 | 0% | - | - | |
| | 2020 HSBC UK | CX National Trophy Series #1 | | Westmorland County Showground | U23 | | 21 | Dyson Cycles | 20 / 31 | 37% | - | 1h02:30.00 | - | - | - | |
| | 2020 Mud Sweat & Gears XC #2 | | Haughley Park | Cat 1 | | 87 | Dyson Cycles | 3 / 33 | 94% | 1h44:27.00 | 1h42:37.00 | 1.8% | - | - | |
| | Gorrick - TORQ Breakout | | Highlands Farm | 2hr | | 756 | Dyson Cycles | 2 / 11 | 90% | - | | - | - | - | |
| | 2019/20 Thetford Racing Winter XC #3 | | Thetford Forest | 1.5hr: 17-18 | | 245 | Banjo Cycles Newbury | 2 / 10 | 89% | 1h38:42.00 | 1h38:40.00 | 0% | - | - | |
| | 2019 Mud Sweat & Gears XC - Eastern #8 | | Phoenix Bike Park, Kentford | 17-18 | | 741 | Dyson Cycles | 2 / 7 | 83% | 1h02:57.00 | 59:57.00 | 5% | - | - | |
| | 2019 Mud Sweat & Gears XC - Eastern #7 | | Radical Bikes | 17-18 | | 741 | Dyson Cycles | 2 / 9 | 88% | 1h16:52.00 | 1h16:24.00 | 0.6% | - | - | |
| | British Cycling - UK XC National Champs '19 | | Cannock Chase | 17-18 | | 108 | Dyson Cycles | 12 / 28 | 59% | 1h14:24.00 | 1h04:17.00 | 15.7% | - | - | |
| | 2019 HSBC UK | XC National Series #5 | | Thickthorn, Norwich | 17-18 | | 34 | Dyson Cycles | 4 / 18 | 82% | 1h16:19.70 | 1h15:09.20 | 1.6% | - | - | |
| | 2019 Mud Sweat & Gears XC - Eastern #5 | | Thickthorn, Norwich | 17-18 | 876776 | 741 | Dyson Cycles | 1 / 7 | 100% | 1h38:15.00 | 1h38:15.00 | 0% | - | - | |
| | 2019 Southern XC #3 | | Crow Hill | 17-18 | | 706 | Dyson Cycles | 1 / 2 | 100% | 1h10:27.20 | 1h10:27.20 | 0% | - | - | |
| | 2019 HSBC UK | XC National Series #3 | | Cannock Chase | 17-18 | | 65 | Dyson Cycles | DNF / 30 | 0% | DNF | 1h01:20.00 | - | - | - | |
| | 2019 Mud Sweat & Gears XC - Eastern #4 | | Carver Barracks | 17-18 | | 741 | Dyson Cycles | 1 / 12 | 100% | 1h14:35.00 | 1h14:35.00 | 0% | - | - | |
| | 2019 Southern XC #2 | | Checkendon | 17-18 | | 490 | Dyson Cycles | 1 / 7 | 100% | 1h13:45.50 | 1h13:45.50 | 0% | - | - | |
| | 2019 HSBC UK | XC National Series #2 | | Hadleigh Park | 17-18 | | 65 | Dyson Cycles | 12 / 37 | 69% | 1h10:41.00 | 1h03:26.00 | 11.4% | - | - | |
| | 2019 HSBC UK | XC National Series #1 | | Sherwood Pines | 17-18 | | 66 | Dyson Cycles | 4 / 37 | 92% | 1h16:36.00 | 1h12:50.00 | 5.2% | - | - | |
| | 2019 Mud Sweat & Gears XC - Eastern #1 | | Hadleigh Park | 17-18 | | 266 | Dyson Cycles | 1 / 19 | 100% | 1h35:15.00 | 1h35:15.00 | 0% | - | - | |
| | 2019 Gorrick Saddle Skedaddle XC #1 | | Crowthorne Wood | Expert | | 447 | | 2 / 11 | 90% | 1h43:55.00 | 1h43:54.00 | 0% | - | - | |
| | 2018/19 Revel Outdoors Winter XC #2 | | West Bilney Woods | 1.5hr: 17-18 | | 376 | Cycle Team OnForm | 1 / 8 | 100% | 1h38:09.00 | 1h38:09.00 | 0% | - | - | |
| | 2018 Mud Sweat & Gears XC - Central #3 | | Rushmere Park | 17-18 | | 404 | Cycle Team OnForm | 1 / 3 | 100% | 1h20:51.00 | 1h20:51.00 | 0% | - | - | |
| | 2018 British Cycling MTB XC #5 | | Royal Welsh Showground | 17-18 | | 150 | Cycle Team OnForm | 8 / 18 | 59% | 1h07:39.00 | 57:08.00 | 18.4% | - | - | |
| | British Cycling - UK XC National Champs '18 | | Hadleigh Park | 17-18 | | 209 | Cycle Team OnForm | 8 / 19 | 61% | 1h21:44.00 | 1h07:33.00 | 21% | - | - | |
| | 2018 British Cycling MTB XC #4 | | Phoenix Bike Park, Kentford | 17-18 | | 108 | Cycle Team OnForm | 5 / 17 | 75% | 1h21:30.00 | 1h16:44.00 | 6.2% | - | - | |
| | 2018 Southern XC #2 | | Crow Hill | 17-18 | | 6104 | Cycle Team On Form | 1 / 6 | 100% | 1h27:46.10 | 1h27:46.10 | 0% | - | - | |
| | 2018 British Cycling MTB XC #2 | | Dalby Forest | 17-18 | | 208 | Cycle Team OnForm | DNF / 27 | 0% | DNF | 1h16:59.00 | - | - | - | |
| | 2018 British Cycling MTB XC #1 | | Sherwood Pines | 17-18 | | 220 | Cycle Team OnForm | 7 / 22 | 71% | 1h19:44.00 | 1h16:15.00 | 4.6% | - | - | |
| | 2017 HSBC UK | CX National Trophy Series #3 | | Shrewsbury Sports Village | 17-18 | | 26 | Cycle Team OnForm | DNS / 50 | 0% | DNS | 36:51.70 | - | - | - | |
| | 2017 HSBC UK | CX National Trophy Series #2 | | Abergavenny Leisure Centre | 17-18 | | 6 | Cycle Team OnForm | 46 / 57 | 20% | 53:01.00 | 45:37.00 | 16.2% | - | - | |
| | 2017 British Cycling MTB XC #5 | | Royal Welsh Showground | 15-16 | | 357 | Banjo Cycles Newbury | 5 / 33 | 88% | 50:02.00 | 47:17.00 | 5.8% | - | - | |
| | British Cycling - UK XC National Champs '17 | | Cannock Chase | 15-16 | | 613 | Banjo Cycles Newbury | 8 / 48 | 85% | 1h11:03.00 | 1h03:42.00 | 11.5% | - | - | |
| | 2017 British Cycling MTB XC #4 | | Dalby Forest | 15-16 | | 360 | Banjo Cycles Newbury | 7 / 35 | 82% | 1h07:41.00 | 1h01:37.00 | 9.9% | - | - | |
| | 2017 British Cycling MTB XC #3 | | Aske Moor | 15-16 | | 354 | Banjo Cycles Newbury | 41 / 42 | 2% | - | 57:34.00 | - | - | - | |
| | 2017 Gorrick Saddle Skedaddle XC #4 | | Bordon | Sport | | 829 | Banjo Cycles - specialized | 2 / 23 | 95% | 1h07:48.00 | 1h07:45.00 | 0.1% | - | - | |
| | 2017 British Cycling MTB XC #2 | | Wasing | 15-16 | | 356 | Banjo Cycles Newbury | 4 / 46 | 93% | 1h07:55.00 | 1h06:31.00 | 2.1% | - | - | |
| | 2017 Southern XC #2 | | Checkendon | 15-16 | | 4538 | Banjo Cycles - specialized | 18 / 20 | 11% | 1h03:56.70 | 55:44.70 | 14.7% | - | - | |
| | 2017 British Cycling MTB XC #1 | | Pembrey Country Park | 15-16 | | 357 | Banjo Cycles Newbury | 9 / 51 | 84% | 58:43.00 | 57:02.00 | 3% | - | - | |
| | 2017 Gorrick Saddle Skedaddle XC #3 | | Area 51 | Sport | | 807 | Banjo Cycles - Specialized Newbury race ware direct | 2 / 17 | 94% | 1h18:06.00 | 1h17:51.00 | 0.3% | - | - | |
| | 2017 Southern XC #1 | | Wasing | 15-16 | | 4509 | Specialized Newbury - Banjo Cycles | 22 / 24 | 9% | - | 1h17:11.30 | - | - | - | |
| | 2017 Gorrick Saddle Skedaddle XC #2 | | Crowthorne Wood | Sport | | 931 | Specialized newbury - Banio Cycles | 2 / 28 | 96% | 1h25:30.00 | 1h22:55.00 | 3.1% | - | - | |
| | 2017 Gorrick Saddle Skedaddle XC #1 | | Area 51 | Sport | | 188 | Specialized Newbury - Banjo Cycles | 2 / 28 | 96% | 1h15:00.00 | 1h13:59.00 | 1.4% | - | - | |
| | 2016/17 Merida Brass Monkeys XC #1 | | Windmill Hill | 2hr: Junior | | 2467 | Specialized Newbury - Banjo Cycles | 2 / 14 | 92% | - | 1h46:16.00 | - | - | - | |
| | 2016 XC Rampage #4 | | Checkendon | Sport | | 74 | Banjo Cycles Newbury | 1 / 20 | 100% | 56:43.00 | 56:43.00 | 0% | - | - | |
| | 2016 XC Rampage #3 | | Checkendon | Sport | | 193 | Banjo Cycles Newbury | 1 / 12 | 100% | 55:51.00 | 55:51.00 | 0% | - | - | |
| | 2016 XC Rampage #2 | | Checkendon | Sport | | 108 | Banjo Cycles Newbury | 3 / 18 | 88% | 59:38.00 | 59:20.00 | 0.5% | - | - | |
| | 2016 XC Rampage #1 | | Checkendon | Sport | | 53 | Banjo Cycles Newbury | 3 / 22 | 90% | 1h06:34.00 | 1h03:53.00 | 4.2% | - | - | |
| | 2016 British Cycling MTB XC #5 | | Cannock Chase | 15-16 | | 120 | Banjo Cycles Newbury | 20 / 46 | 58% | 58:55.00 | 52:54.00 | 11.4% | - | - | |
| | Hadleigh Park - Hadleigh Park International | | Hadleigh Park | 13-16 | GBR20010203 & 15 | 63 | | 2 / 11 | 90% | 58:22.00 | 55:02.00 | 6.1% | - | - | |
| | British Cycling - UK XC National Champs '16 | | Cathkin Braes Country Park | 15-16 | | 78 | Banjo Cycles Newbury | 36 / 38 | 5% | - | 1h02:12.00 | - | - | - | |
| | 2016 Southern XC #7 | | Matterley Estate | 15-16 | | 392 | Banjo Cycles Newbury / Raceware / Specialized / TORQ Performance | 2 / 8 | 86% | 52:02.70 | 46:56.60 | 10.9% | - | - | |
| | 2016 Southern XC #6 | | Pippingford | 15-16 | | 392 | Banjo Cycles Newbury / Raceware / Specialized / TORQ Performance | 3 / 8 | 71% | 54:06.20 | 49:55.70 | 8.4% | - | - | |
| | 2016 British Cycling MTB XC #4 | | Fforest Fields | 15-16 | | 170 | Banjo Cycles Newbury | 35 / 46 | 24% | - | 1h08:45.00 | - | - | - | |
| | 2016 Southern XC #5 | | Crow Hill | 15-16 | | 392 | Banjo Cycles Newbury / Raceware / Specialized / TORQ Performance | 5 / 17 | 75% | 56:11.40 | 52:23.50 | 7.3% | - | - | |
| | 2016 Southern XC #4 | | Matterley Estate | 15-16 | | 392 | Banjo Cycles Newbury / Raceware / Specialized / TORQ Performance | 3 / 10 | 78% | 43:33.30 | 39:26.10 | 10.5% | - | - | |
| | 2016 British Cycling MTB XC #3 | | Dalby Forest | 15-16 | | 118 | Banjo Cycles Newbury | 16 / 44 | 65% | 1h02:35.00 | 56:57.00 | 9.9% | - | - | |
| | 2016 Southern XC #3 | | Wasing | 15-16 | | 186 | Banjo Cycles Newbury / Raceware / Specialized / TORQ Performance | 4 / 19 | 83% | 55:39.20 | 51:24.90 | 8.2% | - | - | |
| | 2016 British Cycling MTB XC #2 | | Newnham Park | 15-16 | | 148 | Banjo Cycles Newbury | 26 / 46 | 44% | 1h08:40.00 | 56:57.00 | 20.6% | - | - | |
| | 2016 Gorrick Saddle Skedaddle XC #3 | | Highlands Farm | Sport | | 925 | Specialized Newbury - Banjo Cycles | 8 / 24 | 70% | 1h23:52.00 | 1h17:59.00 | 7.5% | - | - | |
| | 2016 British Cycling MTB XC #1 | | Pembrey Country Park | 15-16 | | 213 | Banjo Cycles Newbury | 19 / 57 | 68% | 1h05:34.00 | 58:50.00 | 11.4% | - | - | |
| | 2016 Southern XC #1 | | Black Park | 15-16 | | 186 | Banjo Cycles Newbury / Raceware / Specialized / TORQ Performance | 3 / 19 | 89% | 57:14.50 | 54:18.10 | 5.4% | - | - | |
| | 2016 Gorrick Saddle Skedaddle XC #2 | | Frith Hill | Sport | | 214 | Banjo Cycles - Specialized Newbury | 3 / 34 | 94% | 1h47:14.00 | 1h45:25.00 | 1.7% | - | - | |
| | 2015/16 G8 Events Winter Series #5 | | Hadleigh Park | 1hr: 15-16 | 2001 | 403 | Banjo Cycles- Specialized Newbury | 2 / 9 | 88% | 1h06:51.30 | 1h03:07.10 | 5.9% | - | - | |
| | 2016 Gorrick Saddle Skedaddle XC #1 | | Crowthorne Wood | Sport | | 255 | Banjo Cycles-Specialized-Raceware-Torq | 5 / 48 | 91% | 1h42:14.00 | 1h39:32.00 | 2.7% | - | - | |
| | 2015/16 Merida Brass Monkeys XC #3 | | Highlands Farm | 2hr: Junior | | 2400 | Banjo Cycles Newbury | 2 / 10 | 89% | 2h18:24.00 | 2h17:44.00 | 0.5% | - | - | |
| | 2015 Mud Sweat & Gears XC #8 | | Hadleigh Park | 13-14 | | 640 | Banjo Cycles Newbury | 1 / 15 | 100% | 51:34.00 | 51:34.00 | 0% | - | - | |
| | 2015 British Cycling MTB XC #5 | | Cannock Chase | 13-14 | | 352 | Banjo Cycles Newbury | 5 / 24 | 83% | 43:16.00 | 40:43.00 | 6.3% | - | - | |
| | 2015 Mud Sweat & Gears XC #7 | | Radical Bikes | 13-14 | | 640 | Banjo Cycles Newbury | 1 / 14 | 100% | 59:51.00 | 59:51.00 | 0% | - | - | |
| | British Cycling - UK XC National Champs '15 | | Hadleigh Park | 13-14 | | 363 | Banjo Cycles Newbury | 2 / 31 | 97% | 54:31.00 | 53:20.00 | 2.2% | - | - | |
| | 2015 Mud Sweat & Gears XC #6 | | Ickworth House | 13-14 | | 640 | Banjo Cycles Newbury | 2 / 24 | 96% | 59:05.00 | 56:09.00 | 5.2% | - | - | |
| | 2015 Pedalon Southern XC #5 | | Porridgepot Hill | 13-14 | | 73 | Banjo Cycles Newbury / Raceware / Specialized | 1 / 11 | 100% | 35:57.00 | 35:57.00 | 0% | - | - | |
| | 2015 British Cycling MTB XC #4 | | Cathkin Braes Country Park | 13-14 | | 254 | Banjo Cycles Newbury | 2 / 20 | 95% | 49:42.00 | 48:36.00 | 2.3% | - | - | |
| | 2015 Mud Sweat & Gears XC #5 | | Thetford Forest | 13-14 | | 640 | Banjo Cycles Newbury | 1 / 26 | 100% | 54:30.00 | 54:30.00 | 0% | - | - | |
| | 2015 Pedalon Southern XC #4 | | Bordon | 13-14 | | 72 | Banjo Cycles Newbury / Raceware / Specialized | 1 / 15 | 100% | 35:13.00 | 35:13.00 | 0% | - | - | |
| | 2015 British Cycling MTB XC #3 | | Fforest Fields | 13-14 | | 354 | Banjo Cycles Newbury | 8 / 29 | 75% | 38:45.00 | 36:08.00 | 7.2% | - | - | |
| | 2015 Pedalon Southern XC #3 | | Wasing | 13-14 | | 77 | Banjo Cycles Newbury / Raceware / Specialized | 2 / 15 | 93% | 36:51.00 | 35:51.00 | 2.8% | - | - | |