| | British Cycling - UK XC National Champs '21 | | Newnham Park | Senior Champs | | 2 | Team Inspired | 2 / 31 | 97% | 1h26:41.00 | 1h26:37.70 | 0.1% | - | - | |
| | 2018 British Cycling MTB XC #2 | | Dalby Forest | Elite | | 14 | 100% ME | DNS / 30 | 0% | DNS | 1h33:22.00 | - | - | - | |
| | 2018 Midlands XC #2 | | Parkwood Springs | Elite | | 7 | 100% ME | 1 / 4 | 100% | 1h16:08.00 | 1h16:08.00 | 0% | - | - | |
| | 2018 Midlands XC #6 | | Dudmaston | Elite | | 3 | 100% ME | 3 / 3 | 0% | - | 1h27:15.00 | - | - | - | |
| | 2019 HSBC UK | XC National Series #1 | | Sherwood Pines | Elite | | 3 | Team Inspired | 1 / 35 | 100% | 1h41:14.00 | 1h41:14.00 | 0% | - | - | |
| | 2019 HSBC UK | XC National Series #3 | | Cannock Chase | Elite | | 2 | Team Inspired | 1 / 28 | 100% | 1h29:55.00 | 1h29:55.00 | 0% | - | - | |
| | 2018 British Cycling MTB XC #5 | | Royal Welsh Showground | Elite | | 36 | 100% ME | 18 / 27 | 35% | 1h46:39.00 | 1h33:46.00 | 13.7% | - | - | |
| | 2021 HSBC UK | XC National Series #5 | | Cannock Chase | Elite | | 19 | Team Inspired | 1 / 20 | 100% | 1h38:23.10 | 1h38:23.10 | 0% | - | - | |
| | 2022 British Cycling XC National Series - Schwalbe #2 | | Newcastleton | Elite | | 1 | Team Inspired | 1 / 31 | 100% | 1h35:36.60 | 1h35:36.60 | 0% | - | - | |
| | 2022 British Cycling XC National Series - Schwalbe #4 | | Cannock Chase | Elite | | 1 | Team Inspired | 4 / 36 | 91% | 1h25:39.00 | 1h23:29.00 | 2.6% | - | - | |
| | 2022 British Cycling XC National Series - Schwalbe #5 | | Woody's Bike Park | Elite | | 1 | Team Inspired | 1 / 31 | 100% | 1h29:39.40 | 1h29:39.40 | 0% | - | - | |
| | British Cycling - UK XC National Champs '22 | | Kirroughtree Forest | Elite (XCST) | | 172 | Team Inspired | 2 / 23 | 95% | 24:14.00 | 24:11.90 | 0.1% | - | - | |
| | British Cycling - UK XC National Champs '22 | | Kirroughtree Forest | Elite | | 1 | Team Inspired | 1 / 34 | 100% | 1h33:17.00 | 1h33:17.00 | 0% | - | - | |
| | 2022 Mercedes-Benz UCI World Cup XC #9 | | Val di Sole | Elite | 10011218739 & 1999 | 63 | | 82 / 124 | 34% | -2LAP | 1h22:02.00 | - | - | - | |
| | UCI - XCO World Championships '22 | | Les Gets | Elite | 10011218739 & 1999 | 42 | UK | 63 / 99 | 37% | 1h31:23.00 | 1h21:13.00 | 12.5% | - | - | |
| | 2022 Mercedes-Benz UCI World Cup XC #1 | | Petropolis | Elite | 10011218739 & 1999 | 80 | | 15 / 96 | 85% | 1h29:53.00 | 1h26:52.00 | 3.5% | - | - | |
| | 2022 Mercedes-Benz UCI World Cup XC #2 | | Bikepark Albstadt | Elite | 10011218739 & 1999 | 83 | | 28 / 123 | 78% | 1h22:22.00 | 1h18:42.00 | 4.7% | - | - | |
| | 2022 Mercedes-Benz UCI World Cup XC #3 | | Nové Mesto | Elite | 10011218739 & 1999 | 83 | Great Britain | 53 / 121 | 57% | 1h27:21.00 | 1h21:19.00 | 7.4% | - | - | |
| | 2022 Mercedes-Benz UCI World Cup XC #4 | | Leogang | Elite | 10011218739 & 1999 | 73 | Great Britain | 49 / 90 | 46% | 1h22:34.00 | 1h15:31.00 | 9.3% | - | - | |
| | 2022 Mercedes-Benz UCI World Cup XC #5 | | Lenzerheide | Elite | 10011218739 & 1999 | 73 | | 59 / 113 | 48% | 1h24:21.00 | 1h17:32.00 | 8.8% | - | - | |
| | 2022 Mercedes-Benz UCI World Cup XC #6 | | Pal Arinsal | Elite | 10011218739 & 1999 | 74 | | 35 / 102 | 66% | 1h20:20.00 | 1h15:31.00 | 6.4% | - | - | |
| | 2023 British Cycling XC National Series #2 | | Margam Park | Elite | | 1 | | 3 / 28 | 93% | 1h38:18.00 | 1h35:40.00 | 2.8% | - | - | |
| | 2023 UCI World Cup XCO #1 | | Nové Mesto | Elite | 10011218739 & 1999 | 55 | WILIER - PIRELLI FACTORY TEAM XCO | 16 / 125 | 88% | 1h25:39.00 | 1h22:46.00 | 3.5% | - | - | |
| | 2023 UCI World Cup XCO #2 | | Lenzerheide | Elite | 10011218739 & 1999 | 50 | WILIER - PIRELLI FACTORY TEAM XCO | 43 / 116 | 63% | 1h29:15.00 | 1h24:04.00 | 6.2% | - | - | |
| | 2023 UCI World Cup XCO #3 | | Leogang | Elite | 10011218739 & 1999 | 53 | WILIER - PIRELLI FACTORY TEAM XCO | 24 / 116 | 80% | 1h20:38.00 | 1h17:41.00 | 3.8% | - | - | |
| | 2023 UCI World Cup XCO #4 | | Val di Sole | Elite | 10011218739 & 1999 | 52 | WILIER - PIRELLI FACTORY TEAM XCO | 55 / 111 | 51% | 1h27:45.00 | 1h20:22.00 | 9.2% | - | - | |
| | British Cycling - UK XC National Champs '23 | | Tong | Elite (Short Track Junior/Senior race) | | 582 | Wilier Triestina Pirelli Team | 3 / 16 | 87% | 20:22.00 | 20:18.50 | 0.3% | - | - | |
| | British Cycling - UK XC National Champs '23 | | Tong | Elite | | 1 | Wilier Triestina Pirelli Team | 3 / 16 | 87% | 1h24:00.00 | 1h21:15.00 | 3.4% | - | - | |
| | UCI - XCO World Championships '23 | | Glentress | Elite | 10011218739 & 1999 | 47 | UK | 23 / 98 | 77% | 1h25:22.00 | 1h22:09.00 | 3.9% | - | - | |
| | UCI - XCC World Championships '23 | | Glentress | Elite | 10011218739 & 1999 | 36 | UK | 35 / 57 | 39% | 21:31.00 | 20:27.00 | 5.2% | - | - | |
| | 2023 UCI World Cup XCO #5 | | Pal Arinsal | Elite | 10011218739 & 1999 | 40 | WILIER - PIRELLI FACTORY TEAM XCO | 31 / 112 | 73% | 1h34:30.00 | 1h28:03.00 | 7.3% | - | - | |
| | 2023 UCI World Cup XCO #6 | | Les Gets | Elite | 10011218739 & 1999 | 35 | WILIER - PIRELLI FACTORY TEAM XCO | 70 / 108 | 36% | 1h37:23.00 | 1h26:45.00 | 12.3% | - | - | |
| | 2023 UCI World Cup XCO #7 | | Snowshoe, WV | Elite | 10011218739 & 1999 | 43 | WILIER - PIRELLI FACTORY TEAM XCO | 29 / 93 | 70% | 1h21:41.00 | 1h18:38.00 | 3.9% | - | - | |
| | 2023 UCI World Cup XCC #6 | | Les Gets | Elite | 10011218739 & 1999 | 33 | WILIER - PIRELLI FACTORY TEAM XCO | 24 / 40 | 41% | 20:58.00 | 20:33.00 | 2% | - | - | |
| | 2023 UCI World Cup XCC #5 | | Pal Arinsal | Elite | 10011218739 & 1999 | 36 | WILIER - PIRELLI FACTORY TEAM XCO | 31 / 40 | 23% | 21:01.00 | 20:13.00 | 4% | - | - | |
| | 2022 Mercedes-Benz UCI World Cup XCC #9 | | Val di Sole | Elite | 10011218739 & 1999 | 37 | | DNF / 40 | 0% | DNF | 22:28.00 | - | - | - | |
| | 2023 UCI World Cup XCC #8 | | Mont-Sainte-Anne, QC | Elite | 10011218739 & 1999 | 36 | WILIER - PIRELLI FACTORY TEAM XCO | 28 / 40 | 31% | 22:32.00 | 22:05.00 | 2% | - | - | |
| | 2023 UCI World Cup XCO #8 | | Mont-Sainte-Anne, QC | Elite | 10011218739 & 1999 | 40 | WILIER - PIRELLI FACTORY TEAM XCO | 47 / 86 | 46% | 1h35:00.00 | 1h26:27.00 | 9.9% | - | - | |
| | 2024 Crank It Cycling #2 - XCO | | Sherwood Pines | Elite | | 420 | Wilier Triestina - Vittoria Factory Team | 1 / 4 | 100% | 1h13:31.77 | 1h13:31.77 | 0% | - | - | |
| | 2024 Whoop UCI World Cup XCO #1 | | Mairipora | Elite | 10011218739 & 1999 | 44 | WILIER-VITTORIA FACTORY TEAM XCO | 30 / 106 | 72% | 1h32:04.00 | 1h30:00.00 | 2.3% | - | - | |
| | 2012 Midlands XC #3 | | Birchall Woods | 13-14 | | 10 | Matlock CC | 4 / 16 | 80% | 49:24.00 | 45:04.00 | 9.6% | - | - | |
| | 2013 Midlands XC #2 | | Birchall Woods | 13-14 (Shortened) | | 38 | Matlock CC | 4 / 7 | 50% | 6:27.00 | 6:20.00 | 1.8% | - | - | |
| | 2015 Nutcracker Altura XC #1 | | Whinlatter | 15-16 | | 212 | Team Velocite | 1 / 19 | 100% | 29:57.00 | 29:57.00 | 0% | - | - | |
| | 2014 British Cycling MTB XC #1 | | Codham Park | 15-16 | | 155 | Matlock CC | 30 / 51 | 42% | 56:55.00 | 49:18.00 | 15.5% | - | - | |
| | 2014 British Cycling MTB XC #2 | | Wheal Velocity | 15-16 | | 173 | Matlock CC | 9 / 30 | 72% | 1h10:10.00 | 1h03:29.00 | 10.5% | - | - | |
| | 2014 British Cycling MTB XC #3 | | Margam Park | 15-16 | | 116 | Team Velocite | 4 / 38 | 92% | 1h00:53.00 | 57:12.00 | 6.4% | - | - | |
| | 2014 British Cycling MTB XC #5 | | Cannock Chase | 15-16 | | 156 | Team Velocite | 9 / 36 | 77% | 1h00:35.00 | 58:18.00 | 3.9% | - | - | |
| | 2014 Midlands XC #2 | | Birchall Woods | 15-16 | | 30 | Matlock CC / Team Velocite | 2 / 17 | 94% | 36:08.00 | 34:53.00 | 3.6% | - | - | |
| | 2014 Nutcracker Altura XC #4 | | Parkwood Springs | 15-16 | 835752 | 488 | Matlock CC | 3 / 26 | 92% | 45:52.00 | 45:26.00 | 1% | - | - | |
| | 2014 Midlands XC #4 | | Eastridge | 15-16 | | 30 | Matlock CC | 5 / 6 | 20% | 1h08:21.00 | 1h03:26.00 | 7.8% | - | - | |
| | 2015 Midlands XC #1 | | Cannock Chase | 15-16 | | 39 | Team Velocite | 1 / 21 | 100% | 48:03.00 | 48:03.00 | 0% | - | - | |
| | 2015 British Cycling MTB XC #2 | | Newnham Park | 15-16 | | 304 | Team Velocite | 3 / 33 | 94% | 46:37.00 | 45:30.00 | 2.5% | - | - | |
| | 2015 British Cycling MTB XC #1 | | Sherwood Pines | 15-16 | | 303 | Team Velocite | 5 / 57 | 93% | 1h05:47.00 | 1h03:29.00 | 3.6% | - | - | |
| | 2015 Midlands XC #2 | | Harlow Wood | 15-16 | | 37 | Team Velocite SRAM | 2 / 12 | 91% | 39:45.00 | 39:14.00 | 1.3% | - | - | |
| | 2015 British Cycling MTB XC #3 | | Fforest Fields | 15-16 | | 134 | Team Velocite | 2 / 36 | 97% | 52:25.00 | 50:46.00 | 3.3% | - | - | |
| | 2015 Nutcracker Altura XC #3 | | Aske Moor | 15-16 | | 378 | | 2 / 19 | 94% | 37:12.00 | 37:10.00 | 0.1% | - | - | |
| | 2015 British Cycling MTB XC #4 | | Cathkin Braes Country Park | 15-16 | | 133 | SRAM / Team Velocite | 3 / 39 | 95% | 1h01:15.00 | 1h00:03.00 | 2% | - | - | |
| | British Cycling - UK XC National Champs '15 | | Hadleigh Park | 15-16 | | 202 | SRAM / Team Velocite | 4 / 46 | 93% | 51:33.00 | 50:15.00 | 2.6% | - | - | |
| | 2015 British Cycling MTB XC #5 | | Cannock Chase | 15-16 | | 202 | SRAM / Team Velocite | 1 / 44 | 100% | 1h00:18.00 | 1h00:18.00 | 0% | - | - | |
| | 2016 Welsh Gravity Enduro Spring #1 | | Afan | U18 | | 259 | SRAM Youth Development | 5 / 15 | 71% | 7:38.75 | 7:02.95 | 8.5% | 6:46.25 | 12.9% | |
| | 2016 One Industries Mini Enduro #1 | | BikePark Wales | U18 | | 340 | SRAM Youth Development | 21 / 22 | 5% | 26:01.71 | 11:10.60 | 132.9% | 10:45.62 | 141.9% | |
| | 2016 Midlands XC #1 | | Sherwood Pines | 17-18 | | 255 | SRAM Youth Development | 3 / 16 | 87% | 1h20:19.00 | 1h15:14.00 | 6.8% | - | - | |
| | 2016 British Cycling MTB XC #2 | | Newnham Park | 17-18 | | 125 | SRAM Youth Development | 3 / 27 | 92% | 1h12:02.00 | 1h11:28.00 | 0.8% | - | - | |
| | 2016 Midlands XC #3 | | Harlow Wood | 17-18 | | 196 | SRAM Youth Development | 1 / 11 | 100% | 1h10:51.00 | 1h10:51.00 | 0% | - | - | |
| | 2016 British Cycling MTB XC #3 | | Dalby Forest | 17-18 | | 168 | SRAM Youth Development | 2 / 22 | 95% | 53:41.00 | 52:50.00 | 1.6% | - | - | |
| | 2016 Midlands XC #4 | | Eckington Woods | 17-18 | | 153 | SRAM Youth Development | 1 / 6 | 100% | 1h02:44.00 | 1h02:44.00 | 0% | - | - | |
| | UCI - XCO World Championships '16 | | Nové Mesto | 17-18 | GBR19990316 | 88 | Great Britain | 34 / 99 | 66% | 1h14:17.00 | 1h08:32.00 | 8.4% | - | - | |
| | 2016 Midlands XC #5 | | Eastridge | 17-18 | | 134 | SRAM Youth Development | 1 / 7 | 100% | 1h05:29.00 | 1h05:29.00 | 0% | - | - | |
| | British Cycling - UK XC National Champs '16 | | Cathkin Braes Country Park | 17-18 | | 272 | SRAM Youth Development | 2 / 26 | 96% | 1h16:26.00 | 1h15:47.00 | 0.9% | - | - | |
| | Hadleigh Park - Hadleigh Park International | | Hadleigh Park | 17-18 | GBR19990316 & 17 | 16 | GB NATIONAL TEAM | 4 / 35 | 91% | 1h02:32.00 | 1h02:20.00 | 0.3% | - | - | |
| | 2016 British Cycling MTB XC #5 | | Cannock Chase | 17-18 | | 159 | SRAM Youth Development | 3 / 30 | 93% | 1h09:53.00 | 1h08:52.00 | 1.5% | - | - | |
| | 2017 Midlands XC #1 | | Sherwood Pines | 17-18 | | 137 | SF Racing | 1 / 10 | 100% | 1h14:02.00 | 1h14:02.00 | 0% | - | - | |
| | 2017 British Cycling MTB XC #1 | | Pembrey Country Park | 17-18 | | 201 | SF Racing | 2 / 33 | 97% | 1h12:18.00 | 1h12:15.00 | 0.1% | - | - | |
| | 2017 British Cycling MTB XC #3 | | Aske Moor | 17-18 | | 206 | SF Racing | 2 / 22 | 95% | 1h21:16.00 | 1h20:57.00 | 0.4% | - | - | |
| | British Cycling - UK XC National Champs '17 | | Cannock Chase | 17-18 | | 202 | SF Racing | 2 / 26 | 96% | 1h13:49.00 | 1h13:48.00 | 0% | - | - | |
| | UCI - XCO World Championships '17 | | Cairns, QLD | 17-18 | 10011218739 & 1999 | 15 | UK | 22 / 71 | 70% | 1h11:27.00 | 1h07:56.00 | 5.2% | - | - | |
| | 2017 HSBC UK | CX National Trophy Series #6 | | Trinity Park Showground, Suffolk | 19-22 | | 72 | 100% ME | 8 / 28 | 74% | 1h03:11.85 | 1h01:47.90 | 2.3% | - | - | |
| | British Cycling - UK CX National Champs '18 | | Hetton Lyons Country Park | 19-22 | | 2 | 100% ME | 5 / 33 | 88% | 52:38.10 | 50:25.80 | 4.4% | - | - | |
| | UCI - XCO World Championships '19 | | Mont-Sainte-Anne, QC | 19-22 | 10011218739 & 1999 | 13 | UK | 19 / 70 | 74% | 1h25:41.00 | 1h19:50.00 | 7.3% | - | - | |
| | 2018 Mercedes-Benz UCI World Cup XC #1 | | Stellenbosch, WC | U23 | 10011218739 & 1999 | 51 | | 45 / 70 | 36% | 1h28:04.00 | 1h18:23.00 | 12.4% | - | - | |
| | 2018 Mercedes-Benz UCI World Cup XC #3 | | Nové Mesto | U23 | 10011218739 & 1999 | ? | | DNS / 142 | 0% | DNS | 1h23:44.00 | - | - | - | |
| | 2018 Mercedes-Benz UCI World Cup XC #2 | | Bikepark Albstadt | U23 | 10011218739 & 1999 | 111 | | 77 / 146 | 48% | 1h30:57.00 | 1h17:48.00 | 16.9% | - | - | |
| | British Cycling - UK XC National Champs '18 | | Hadleigh Park | U23 | | 103 | 100% ME | 2 / 16 | 93% | 1h20:45.00 | 1h20:01.00 | 0.9% | - | - | |
| | 2018 Mercedes-Benz UCI World Cup XC #7 | | La Bresse | U23 | 10011218739 & 1999 | 69 | | 46 / 122 | 63% | 1h31:18.00 | 1h23:22.00 | 9.5% | - | - | |
| | UCI - XCO World Championships '18 | | Lenzerheide | U23 | 10011218739 & 1999 | 80 | Great Britain | 54 / 97 | 45% | - | 1h21:22.00 | - | - | - | |
| | 2019 Mercedes-Benz UCI World Cup XC #1 | | Bikepark Albstadt | U23 | 10011218739 & 1999 | 17 | | 23 / 142 | 84% | 1h20:48.00 | 1h17:42.00 | 4% | - | - | |
| | 2019 Mercedes-Benz UCI World Cup XC #2 | | Nové Mesto | U23 | 10011218739 & 1999 | 24 | | 12 / 138 | 92% | 1h16:07.00 | 1h14:24.00 | 2.3% | - | - | |
| | British Cycling - UK XC National Champs '19 | | Cannock Chase | U23 | | 61 | Team Inspired | 3 / 13 | 83% | 1h17:21.00 | 1h17:18.00 | 0.1% | - | - | |
| | 2019 Mercedes-Benz UCI World Cup XC #5 | | Val di Sole | U23 | 10011218739 & 1999 | 20 | | 8 / 113 | 94% | 1h26:03.00 | 1h23:10.00 | 3.5% | - | - | |
| | 2019 Mercedes-Benz UCI World Cup XC #4 | | Les Gets | U23 | 10011218739 & 1999 | 19 | | 24 / 107 | 78% | 1h17:28.00 | 1h13:22.00 | 5.6% | - | - | |
| | 2019 Mercedes-Benz UCI World Cup XC #3 | | Vallnord | U23 | 10011218739 & 1999 | 18 | | 23 / 79 | 72% | 1h13:14.00 | 1h08:08.00 | 7.5% | - | - | |
| | 2019 Mercedes-Benz UCI World Cup XC #6 | | Lenzerheide | U23 | 10011218739 & 1999 | 18 | | 7 / 110 | 95% | 1h10:26.00 | 1h09:00.00 | 2.1% | - | - | |
| | 2019 Mercedes-Benz UCI World Cup XC #7 | | Snowshoe, WV | U23 | 10011218739 & 1999 | 14 | | 13 / 54 | 77% | 1h09:57.00 | 1h07:55.00 | 3% | - | - | |
| | 2021 Mercedes-Benz UCI World Cup XC #2 | | Nové Mesto | U23 | 10011218739 & 1999 | 10 | | 9 / 148 | 95% | 1h27:48.00 | 1h23:44.00 | 4.9% | - | - | |
| | 2021 Mercedes-Benz UCI World Cup XC #1 | | Bikepark Albstadt | U23 | 10011218739 & 1999 | 10 | | 10 / 133 | 93% | 1h13:25.00 | 1h11:49.00 | 2.2% | - | - | |
| | 2021 Mercedes-Benz UCI World Cup XC #3 | | Leogang | U23 | 10011218739 & 1999 | 9 | | 11 / 97 | 90% | 1h10:55.00 | 1h08:26.00 | 3.6% | - | - | |
| | 2021 Mercedes-Benz UCI World Cup XC #4 | | Les Gets | U23 | 10011218739 & 1999 | 11 | | 15 / 112 | 87% | 1h15:32.00 | 1h12:25.00 | 4.3% | - | - | |
| | 2021 Mercedes-Benz UCI World Cup XC #5 | | Lenzerheide | U23 | 10011218739 & 1999 | 10 | | 20 / 95 | 80% | 1h12:57.00 | 1h09:24.00 | 5.1% | - | - | |