| | 2021 Scottish XC #1 | | Cathkin Braes Country Park | Fast | | 41 | | 12 / 40 | 72% | - | | - | - | - | |
| | 2016 Nutcracker Altura XC #3 | | Aske Moor | Expert | | 560 | Mountain Goat Coaching | 3 / 10 | 78% | - | | - | - | - | |
| | Northern Downhill - Trail Bike TT | | Hamsterley Forest | 17-18 | | 172 | | 1 / 5 | 100% | 5:28.55 | 5:28.55 | 0% | 5:07.03 | 7% | |
| | Northern Downhill - Descendant @ Descend | | Hamsterley Forest | 19-29 | | 68 | | 25 / 58 | 58% | 6:43.46 | 5:40.66 | 18.4% | 5:40.66 | 18.4% | |
| | 2015 O'Neal ND(H)uro #1 | | Hamsterley Forest | 14-18 | | 7 | | 3 / 16 | 87% | 11:37.36 | 11:12.94 | 3.6% | 9:22.24 | 24% | |
| | Ard Rock - Ard Rock | | Dales Bike Centre | 18-29 (Ard Rock Epic) | | 1432 | Mountain Goat Coaching | 5 / 22 | 81% | 24:41.87 | 21:03.45 | 17.3% | - | - | |
| | 2022 British Cycling CX National Trophy Series #3 | | Gypsies Green | Elite | | 61 | | 57 / 62 | 8% | 29:11.00 | 29:05.00 | 0.3% | - | - | |
| | 2015 North East XC MTB Series #4 | | Hetton Lyons Country Park | Senior | | 79 | Mountain Goat | 1 / 15 | 100% | 46:46.00 | 46:46.00 | 0% | - | - | |
| | 2014 North East XC MTB Series #3 | | Hetton Lyons Country Park | U18 | | 93 | Ferryhill Wheelers | 1 / 2 | 100% | 47:45.40 | 47:45.40 | 0% | - | - | |
| | 2014 North East XC MTB Series #2 | | Errington Woods | U18 | | 107 | Ferryhill Wheelers | 1 / 1 | - | 48:34.20 | 48:34.20 | 0% | - | - | |
| | 2014 North East XC MTB Series #7 | | Thorneyford Farm | U18 | | 86 | Ferryhill Wheelers | 1 / 1 | - | 49:55.20 | 49:55.20 | 0% | - | - | |
| | British Cycling - UK CX National Champs '18 | | Hetton Lyons Country Park | 19-22 | | 19 | Mountain Goat Coaching | 20 / 33 | 41% | - | 50:25.80 | - | - | - | |
| | 2015 North East XC MTB Series #6 | | Thorneyford Farm | Senior | | 104 | Mountain Goat Coaching | 2 / 11 | 90% | 52:28.00 | 51:39.00 | 1.6% | - | - | |
| | 2015 North East XC MTB Series #2 | | Hetton Lyons Country Park | Senior | | 79 | Mountain Goat Coaching | 1 / 12 | 100% | 53:53.60 | 53:53.60 | 0% | - | - | |
| | 2015 North East XC MTB Series #5 | | Errington Woods | Senior | | 176 | Mountain Goat Coaching | 1 / 15 | 100% | 56:04.30 | 56:04.30 | 0% | - | - | |
| | 2023 British Cycling CX National Trophy Series #1 | | Gypsies Green | 18+ | | 44 | | 21 / 27 | 23% | 47:46.00 | 56:52.00 | -16% | - | - | |
| | 2017 HSBC UK | CX National Trophy Series #2 | | Abergavenny Leisure Centre | 19-22 | | 74 | Mountain Goat Coaching | 18 / 24 | 26% | - | 57:21.00 | - | - | - | |
| | 2017 HSBC UK | CX National Trophy Series #4 | | Cyclopark | 19-22 | | 80 | Mountain Goat Coaching | DNS / 23 | 0% | DNS | 57:38.00 | - | - | - | |
| | 2021 HSBC UK | CX National Trophy Series #4 | | Herrington Country Park, Sunderland | Elite | | 41 | | 39 / 49 | 21% | -2LAP | 58:17.00 | - | - | - | |
| | 2018 HSBC UK | CX National Trophy Series #1 | | Moorways Leisure Centre, Derbyshire | Elite | | 29 | Mountain Goat Coaching | 23 / 57 | 61% | 1h03:08.00 | 58:23.00 | 8.1% | - | - | |
| | 2017 HSBC UK | CX National Trophy Series #1 | | Moorways Leisure Centre, Derbyshire | 19-22 | | 83 | Mountain Goat Coaching | 14 / 34 | 61% | - | 59:38.00 | - | - | - | |
| | 2017 North East XC MTB Series #1 | | Hetton Lyons Country Park | Expert | | 22 | Mountain Goat Coaching | 1 / 2 | 100% | 1h00:05.60 | 1h00:05.60 | 0% | - | - | |
| | 2018 HSBC UK | CX National Trophy Series #2 | | Beach Park, Irvine | Elite | | 32 | Mountain Goat Coaching | 20 / 51 | 62% | 1h06:43.00 | 1h01:11.00 | 9% | - | - | |
| | 2014 North East XC MTB Series #5 | | Hetton Lyons Country Park | U18 | | 67 | Ferryhill Wheelers | 1 / 2 | 100% | 1h01:25.70 | 1h01:25.70 | 0% | - | - | |
| | 2017 HSBC UK | CX National Trophy Series #3 | | Shrewsbury Sports Village | 19-22 | | 60 | Mountain Goat Coaching | 12 / 19 | 39% | - | 1h01:45.00 | - | - | - | |
| | 2017 HSBC UK | CX National Trophy Series #6 | | Trinity Park Showground, Suffolk | 19-22 | | 85 | Mountain Goat Coaching | 23 / 28 | 19% | 1h07:21.15 | 1h01:47.90 | 9% | - | - | |
| | 2020 HSBC UK | CX National Trophy Series #1 | | Westmorland County Showground | Elite | | 22 | | 18 / 31 | 43% | - | 1h02:37.00 | - | - | - | |
| | 2019 HSBC UK | CX National Trophy Series #1 | | Moorways Leisure Centre, Derbyshire | Elite | | 37 | | 26 / 45 | 43% | - | 1h03:51.00 | - | - | - | |
| | 2018 HSBC UK | CX National Trophy Series #4 | | York Cycle Sport | Elite | | 21 | Mountain Goat Coaching | 18 / 40 | 56% | 1h11:46.00 | 1h04:09.00 | 11.9% | - | - | |
| | 2023 British Cycling CX National Trophy Series #2 | | Thornton-in-Craven | 18+ | | 45 | | 31 / 33 | 6% | 29:29.00 | 1h04:18.00 | -54.2% | - | - | |
| | 2014 British Cycling MTB XC #1 | | Codham Park | 17-18 | | 104 | Ferryhill Wheelers CC | 12 / 37 | 69% | 1h09:01.00 | 1h04:57.00 | 6.3% | - | - | |
| | 2019 HSBC UK | CX National Trophy Series #2 | | Westmorland County Showground | Elite | | 24 | | DNS / 36 | 0% | DNS | 1h06:37.10 | - | - | - | |
| | 2017 British Cycling MTB XC #5 | | Royal Welsh Showground | Expert | | 103 | Mountain Goat Coaching | 5 / 15 | 71% | 1h13:47.00 | 1h09:32.00 | 6.1% | - | - | |
| | 2014 British Cycling MTB XC #3 | | Margam Park | 17-18 | | 160 | Ferryhill Wheelers CC | 13 / 26 | 52% | 1h17:04.00 | 1h10:18.00 | 9.6% | - | - | |
| | 2014 British Cycling MTB XC #4 | | Sherwood Pines | 17-18 | | 207 | Ferryhill Wheelers CC | 12 / 25 | 54% | 1h18:23.00 | 1h13:00.00 | 7.4% | - | - | |
| | 2016 British Cycling MTB XC #3 | | Dalby Forest | Expert | | 211 | Mountain Goat Coaching | 8 / 41 | 83% | 1h17:24.00 | 1h13:22.00 | 5.5% | - | - | |
| | 2014 British Cycling MTB XC #5 | | Cannock Chase | 17-18 | | 107 | Ferryhill Wheelers CC | 8 / 24 | 70% | 1h19:12.00 | 1h13:55.00 | 7.2% | - | - | |
| | 2015 North East XC MTB Series #1 | | Hamsterley Forest | Expert | | 125 | Mountain Goat Coaching | 1 / 2 | 100% | 1h17:07.60 | 1h17:07.60 | 0% | - | - | |
| | 2014 British Cycling MTB XC #2 | | Wheal Velocity | 17-18 | | 112 | Ferryhill Wheelers CC | 11 / 26 | 60% | 1h23:30.00 | 1h17:19.00 | 8% | - | - | |
| | 2015 British Cycling MTB XC #5 | | Cannock Chase | Expert | | 409 | Mountain Goat Coaching | 14 / 46 | 71% | 1h22:04.00 | 1h17:22.00 | 6.1% | - | - | |
| | 2015 British Cycling MTB XC #2 | | Newnham Park | Expert | | 232 | Mountain Goat Coaching | 6 / 67 | 92% | 1h22:11.00 | 1h17:39.00 | 5.8% | - | - | |
| | 2015 Midlands XC #1 | | Cannock Chase | Expert | | 99 | Mountain Goat Coaching | 3 / 28 | 93% | 1h21:14.00 | 1h17:53.00 | 4.3% | - | - | |
| | 2014 Scottish XC #2 | | Cathkin Braes Country Park | 17-18 | | 31 | | 2 / 9 | 88% | 1h19:24.79 | 1h19:08.45 | 0.3% | - | - | |
| | British Cycling - UK XC National Champs '18 | | Hadleigh Park | U23 | | 107 | Mountain Goat Coaching | 8 / 16 | 53% | 1h30:46.00 | 1h20:01.00 | 13.4% | - | - | |
| | 2017 British Cycling MTB XC #4 | | Dalby Forest | Expert | | 102 | Mountain Goat Coaching | 10 / 28 | 67% | 1h28:53.00 | 1h21:09.00 | 9.5% | - | - | |
| | 2014 Nutcracker Altura XC #3 | | Aske Moor | 17-18 | 455567 | 252 | Ferryhill Wheelers CC | 3 / 8 | 71% | 1h28:53.00 | 1h21:55.00 | 8.5% | - | - | |
| | 2015 Nutcracker Altura XC #4 | | Parkwood Springs | Expert | | 55 | | 5 / 9 | 50% | 1h24:54.00 | 1h22:00.00 | 3.5% | - | - | |
| | 2014 Nutcracker Altura XC #4 | | Parkwood Springs | 17-18 | 455567 | 252 | Ferryhill Wheelers CC | 3 / 7 | 67% | 1h31:08.00 | 1h22:07.00 | 11% | - | - | |
| | 2018 Scottish XC #3 | | Cathkin Braes Country Park | Elite/Expert | | 353 | | 4 / 13 | 75% | 1h28:32.57 | 1h23:21.92 | 6.2% | - | - | |
| | 2016 North East XC MTB Series #2 | | Thorneyford Farm | Expert | | ? | Mountain Goat Coaching | - / 5 | 0% | - | 1h24:22.50 | - | - | - | |
| | Boltby Bash - Boltby Bash Enduro & Sportive | | Boltby | Sportive (Shortened 2) | | 1044 | | n/a (sportive) | - | 1h45:39.00 | - | - | - | - | |
| | 2019 HSBC UK | XC National Series #2 | | Hadleigh Park | Elite | | 40 | | 30 / 40 | 26% | - | 1h24:30.00 | - | - | - | |
| | 2016 North East XC MTB Series #1 | | Hamsterley Forest | Expert | | 124 | Mountain Goat Coaching | 1 / 2 | 100% | 1h24:39.20 | 1h24:39.20 | 0% | - | - | |
| | 2015 British Cycling MTB XC #3 | | Fforest Fields | Expert | | 215 | Mountain Goat Coaching | 27 / 66 | 60% | 1h37:10.00 | 1h24:43.00 | 14.7% | - | - | |
| | 2019 Scottish XC #1 | | Cathkin Braes Country Park | Elite/Expert | | 353 | | 4 / 11 | 70% | 1h33:37.90 | 1h25:05.00 | 10.1% | - | - | |
| | British Cycling - UK XC National Champs '15 | | Hadleigh Park | U23 | | 91 | Mountain Goat Coaching | 13 / 17 | 25% | 1h36:17.00 | 1h25:11.00 | 13% | - | - | |
| | 2017 North East XC MTB Series #4 | | Hamsterley Forest | Expert | | 101 | | 1 / 1 | - | 1h25:48.60 | 1h25:48.60 | 0% | - | - | |
| | 2014 Nutcracker Altura XC #1 | | Dalby Forest | 17-18 | 455567 | 252 | Ferryhill Wheelers CC | 3 / 9 | 75% | 1h29:57.00 | 1h26:31.00 | 4% | - | - | |
| | 2014 Nutcracker Altura XC #6 | | Dales Bike Centre | 17-18 | 455567 | 252 | Ferryhill Wheelers CC | 2 / 5 | 75% | 1h31:07.00 | 1h26:32.00 | 5.3% | - | - | |
| | British Cycling - UK XC National Champs '21 | | Newnham Park | Senior Champs | | 35 | | 23 / 31 | 27% | 1h43:12.00 | 1h26:37.70 | 19.1% | - | - | |
| | 2017 British Cycling MTB XC #3 | | Aske Moor | Expert | | 102 | Mountain Goat Coaching | 4 / 26 | 88% | 1h30:07.00 | 1h27:45.00 | 2.7% | - | - | |
| | 2016 British Cycling MTB XC #5 | | Cannock Chase | Expert | | 209 | Mountain Goat Coaching | 5 / 38 | 89% | 1h31:44.00 | 1h27:56.00 | 4.3% | - | - | |
| | 2015 British Cycling MTB XC #4 | | Cathkin Braes Country Park | Expert | | 312 | Mountain Goat Coaching | 3 / 31 | 93% | 1h34:01.00 | 1h28:03.00 | 6.8% | - | - | |
| | 2021 HSBC UK | XC National Series #4 | | Newcastleton | Elite | | 15 | | 14 / 19 | 28% | -1LAP | 1h28:45.10 | - | - | - | |
| | 2015 Scottish XC #1 | | Cathkin Braes Country Park | Elite/Expert | | 27 | | 2 / 16 | 93% | 1h31:46.00 | 1h28:50.68 | 3.3% | - | - | |
| | British Cycling - UK XC National Champs '17 | | Cannock Chase | U23 | | 114 | Mountain Goat Coaching | 13 / 16 | 20% | 1h43:26.00 | 1h29:42.00 | 15.3% | - | - | |
| | British Cycling - UK XC National Champs '16 | | Cathkin Braes Country Park | U23 | | 115 | Mountain Goat Coaching | 9 / 16 | 47% | 1h41:25.00 | 1h29:44.00 | 13% | - | - | |
| | 2015 Nutcracker Altura XC #3 | | Aske Moor | Expert | | 119 | Mountain Goat Coaching | 2 / 10 | 89% | 1h32:22.00 | 1h29:46.00 | 2.9% | - | - | |
| | 2016 British Cycling MTB XC #2 | | Newnham Park | Expert | | 215 | Mountain Goat Coaching | 11 / 44 | 77% | 1h41:04.00 | 1h31:19.00 | 10.7% | - | - | |
| | 2016 Nutcracker Altura XC #1 | | Whinlatter | Expert | 455567 | 73 | Mountain Goat Coaching | 3 / 18 | 88% | 1h33:38.00 | 1h31:25.00 | 2.4% | - | - | |
| | 2018 British Cycling MTB XC #2 | | Dalby Forest | Elite | | 30 | Mountain Goat Coaching | 16 / 30 | 48% | 1h42:06.00 | 1h33:22.00 | 9.4% | - | - | |
| | 2014 Scottish XC #5 | | Dalbeattie | 17-18 | | 31 | | 3 / 6 | 60% | 1h40:09.19 | 1h33:43.80 | 6.9% | - | - | |
| | 2018 British Cycling MTB XC #5 | | Royal Welsh Showground | Elite | | 54 | Mountain Goat Coaching | 16 / 27 | 42% | 1h46:12.00 | 1h33:46.00 | 13.3% | - | - | |
| | 2014 North East XC MTB Series #8 | | Hamsterley Forest | U18 | | 70 | Ferryhill Wheelers | 1 / 1 | - | 1h33:53.90 | 1h33:53.90 | 0% | - | - | |
| | 2017 North East XC MTB Series #3 | | Gallagher Park, Bedlington | Expert | | 26 | Mountain Goat Coaching | 1 / 1 | - | 1h33:54.70 | 1h33:54.70 | 0% | - | - | |
| | 2016 British Cycling MTB XC #1 | | Pembrey Country Park | Expert | | 142 | Mountain Goat Coaching | 19 / 50 | 63% | 1h42:06.00 | 1h34:36.00 | 7.9% | - | - | |
| | 2016 British Cycling MTB XC #4 | | Fforest Fields | Expert | | 208 | Mountain Goat Coaching | 11 / 40 | 74% | 1h43:53.00 | 1h35:33.00 | 8.7% | - | - | |
| | 2015 Nutcracker Altura XC #5 | | Gandale | Expert | 455567 | 785 | | 5 / 8 | 43% | 1h40:18.00 | 1h35:34.00 | 5% | - | - | |
| | 2016 North East XC MTB Series #5 | | Hamsterley Forest | Expert | | 148 | Mountain Goat Coaching | 1 / 4 | 100% | 1h35:53.30 | 1h35:53.30 | 0% | - | - | |
| | 2017 North East XC MTB Series #2 | | Kielder Forest | Expert | | 1 | Mountain Goat Coaching | 1 / 1 | - | 1h36:39.40 | 1h36:39.40 | 0% | - | - | |
| | 2018 British Cycling MTB XC #3 | | Glentress | Elite | | 16 | Mountain Goat Coaching | DNF / 23 | 0% | DNF | 1h37:10.00 | - | - | - | |
| | 2016 Nutcracker Altura XC #4 | | Parkwood Springs | Expert | 455567 | 216 | Mountain Goat Coaching | 5 / 15 | 71% | 1h42:26.00 | 1h37:39.00 | 4.9% | - | - | |
| | 2015 British Cycling MTB XC #1 | | Sherwood Pines | Expert | | 235 | | 85 / 88 | 3% | - | 1h38:06.00 | - | - | - | |
| | 2015 North East XC MTB Series #7 | | Hamsterley Forest | Expert | | 115 | Mountain Goat Coaching | 2 / 3 | 50% | 1h39:19.40 | 1h38:34.40 | 0.8% | - | - | |
| | 2017 British Cycling MTB XC #1 | | Pembrey Country Park | Expert | | 102 | Mountain Goat Coaching | 2 / 30 | 97% | 1h39:03.00 | 1h38:53.00 | 0.2% | - | - | |
| | 2017 British Cycling MTB XC #2 | | Wasing | Expert | | 102 | MountainGoatCoaching | 4 / 34 | 91% | 1h41:32.00 | 1h39:01.00 | 2.5% | - | - | |
| | 2017 Nutcracker Altura XC #1 | | Dalby Forest | Expert | 455567 | 153 | Mountain Goat Coaching | 1 / 10 | 100% | 1h42:23.00 | 1h42:23.00 | 0% | - | - | |
| | 2014 North East XC MTB Series #1 | | Hamsterley Forest | U18 | | 71 | Ferryhill Wheelers | 1 / 3 | 100% | 1h44:39.80 | 1h44:39.80 | 0% | - | - | |
| | 2015 Nutcracker Altura XC #2 | | Dalby Forest | Expert | 455567 | 70 | Mountain Goat Coaching | 2 / 12 | 91% | 1h47:02.00 | 1h45:17.00 | 1.7% | - | - | |
| | 2018 British Cycling MTB XC #1 | | Sherwood Pines | Elite | | 29 | Mountain Goat Coaching | 31 / 34 | 9% | 2h05:54.00 | 1h45:47.00 | 19% | - | - | |
| | 2017 Nutcracker Altura XC #2 | | Gandale | Expert | | 701 | Mountain Goat Coaching | 2 / 10 | 89% | 1h50:34.00 | 1h49:20.00 | 1.1% | - | - | |
| | 2018 Scottish XC #2 | | Dalbeattie | Elite/Expert | | 354 | Mountain Goat Coaching | 3 / 11 | 80% | 2h00:29.00 | 1h51:04.00 | 8.5% | - | - | |
| | 2016 Nutcracker Altura XC #2 | | Dalby Forest | Expert | 455567 | 142 | Mountain Goat Coaching | 1 / 13 | 100% | 1h51:41.00 | 1h51:41.00 | 0% | - | - | |
| | UCI - Gralloch | | Gatehouse of Fleet | 19-34 | | 107 | | 93 / 169 | 45% | 4h27:23.00 | 3h15:18.00 | 36.9% | - | - | |
| | Dirty Reiver - Dirty Reiver | | Kielder Forest | 20-29 (130km) | | 326 | | n/a (sportive) | - | 4h55:58.00 | - | - | - | - | |