| | UCI - XCO World Championships '20 | | Leogang | 17-18 | 10083354003 & 2003 | 33 | UK | 20 / 84 | 77% | 1h25:52.00 | 1h16:39.00 | 12% | 1h25:37.00 | 0.3% | |
| | 2020 Scottish XC #1 | | Linlithgow | 17-18 | | 352 | | 3 / 12 | 82% | 1h22:57.43 | 1h16:56.31 | 7.8% | 1h30:21.70 | -8.2% | |
| | British Cycling - UK CX National Champs '20 | | Shrewsbury Sports Village | 17-18 | | 56 | Peebles CC | 3 / 59 | 97% | 43:56.40 | 42:12.80 | 4.1% | 45:19.40 | -3.1% | |
| | 2019 HSBC UK Cyclo-Cross National Trophy Series #6 | | York Cycle Sport | 17-18 | | 6 | Peebles CC | 10 / 54 | 83% | 43:31.00 | 39:32.00 | 10.1% | 59:01.00 | -26.3% | |
| | 2019 HSBC UK Cyclo-Cross National Trophy Series #3 | | Beach Park, Irvine | 17-18 | | 4 | Peebles CC | 1 / 53 | 100% | 43:20.60 | 43:20.60 | 0% | 1h02:25.00 | -30.6% | |
| | 2019 HSBC UK Cyclo-Cross National Trophy Series #2 | | Westmorland County Showground | 17-18 | | 4 | Peebles CC | 7 / 59 | 90% | 43:07.00 | 40:33.60 | 6.3% | 1h06:37.10 | -35.3% | |
| | 2019 HSBC UK Cyclo-Cross National Trophy Series #1 | | Moorways Leisure Centre, Derbyshire | 17-18 | | 39 | Peebles CC | 5 / 77 | 95% | 45:57.70 | 45:27.10 | 1.1% | 1h03:38.00 | -27.8% | |
| | British Cycling - UK XC National Champs '19 | | Cannock Chase | 15-16 | | 202 | Peebles CC | 1 / 50 | 100% | 51:26.00 | 51:26.00 | 0% | 1h33:58.00 | -45.3% | |
| | 2019 British Cycling MTB XC #5 | | Thickthorn, Norwich | 15-16 | | 301 | Peebles CC | DNS / 45 | 0% | n/a | 51:20.50 | n/a | 1h36:56.40 | n/a | |
| | 2019 Scottish XC #4 | | Kirkhill | 15-16 | | 250 | | 1 / 14 | 100% | 45:38.42 | 45:38.42 | 0% | 1h31:59.05 | -50.4% | |
| | 2019 British Cycling MTB XC #3 | | Cannock Chase | 15-16 | | 301 | Peebles CC | 1 / 46 | 100% | 50:18.00 | 50:18.00 | 0% | 1h29:55.00 | -44.1% | |
| | 2019 Scottish XC #3 | | Linlithgow | 15-16 | | 250 | | 1 / 19 | 100% | 53:32.00 | 53:32.00 | 0% | 1h34:25.00 | -43.3% | |
| | 2019 British Cycling MTB XC #2 | | Hadleigh Park | 15-16 | | 231 | Peebles CC | 1 / 52 | 100% | 53:24.00 | 53:24.00 | 0% | 1h24:30.00 | -36.8% | |
| | 2019 Scottish XC #2 | | Dalbeattie | 15-16 | | 255 | | 1 / 19 | 100% | 1h01:54.00 | 1h01:54.00 | 0% | 1h30:15.00 | -31.4% | |
| | 2019 British Cycling MTB XC #1 | | Sherwood Pines | 15-16 | | 291 | Peebles CC | 1 / 69 | 100% | 1h02:02.00 | 1h02:02.00 | 0% | 1h41:14.00 | -38.7% | |
| | 2019 Scottish XC #1 | | Cathkin Braes Country Park | 15-16 | | 254 | | 1 / 24 | 100% | 45:37.40 | 45:37.40 | 0% | 1h25:05.00 | -46.4% | |
| | British Cycling - UK CX National Champs '19 | | Cyclopark, Kent | 15-16 | | 53 | Peebles CC | 1 / 91 | 100% | 36:19.80 | 36:19.80 | 0% | 1h04:44.00 | -43.9% | |
| | 2018 HSBC UK Cyclo-Cross National Trophy Series #6 | | Shrewsbury Sports Village | U16 | | 55 | Peebles CC | 1 / 90 | 100% | 32:14.20 | 32:14.20 | 0% | 1h02:34.00 | -48.5% | |
| | 2018 HSBC UK Cyclo-Cross National Trophy Series #5 | | Trinity Park Showground, Suffolk | U16 | | 59 | Peebles CC | 2 / 87 | 99% | 28:24.60 | 28:10.10 | 0.9% | 1h05:05.00 | -56.4% | |
| | 2018 HSBC UK Cyclo-Cross National Trophy Series #4 | | York Cycle Sport | U16 | | 56 | Peebles CC | 7 / 87 | 93% | 33:13.20 | 31:45.50 | 4.6% | 1h03:04.00 | -47.3% | |
| | 2018 HSBC UK Cyclo-Cross National Trophy Series #2 | | Beach Park, Irvine | U16 | | 63 | Peebles CC | 4 / 80 | 96% | 31:25.10 | 30:09.30 | 4.2% | 1h01:11.00 | -48.7% | |
| | 2018 HSBC UK Cyclo-Cross National Trophy Series #1 | | Moorways Leisure Centre, Derbyshire | U16 | | 71 | Peebles CC | 5 / 106 | 96% | 28:18.80 | 27:45.00 | 2% | 58:23.00 | -51.5% | |
| | 2018 Scottish XC #5 | | Dunoon | 15-16 | | 251 | Peebles CC | 1 / 14 | 100% | 37:22.00 | 37:22.00 | 0% | 1h35:55.00 | -61% | |
| | 2018 British Cycling MTB XC #5 | | Royal Welsh Showground | 15-16 | | 102 | Peebles CC | 2 / 37 | 97% | 49:11.00 | 48:54.00 | 0.6% | 1h33:46.00 | -47.6% | |
| | British Cycling - UK XC National Champs '18 | | Hadleigh Park | 15-16 | | 131 | Peebles CC | 3 / 46 | 96% | 1h01:46.00 | 58:25.00 | 5.7% | 1h20:01.00 | -22.8% | |
| | 2018 Scottish XC #4 | | Lochore Meadows Country Park | 15-16 | | 253 | | 2 / 17 | 94% | 59:22.55 | 59:19.48 | 0.1% | 1h28:20.49 | -32.8% | |
| | 2018 British Cycling MTB XC #4 | | Phoenix Bike Park, Kentford | 15-16 | | 52 | Peebles CC | 4 / 43 | 93% | 55:36.00 | 55:34.00 | 0.1% | 1h34:47.00 | -41.3% | |
| | Tweedlove - Glentress 7 | | Glentress | Pairs: U75 | | 393A | CCA | 5 / 82 | 95% | n/a | 7h07:14.00 | n/a | 7h07:14.00 | n/a | |
| | 2018 British Cycling MTB XC #3 | | Glentress | 15-16 | | 302 | Peebles CC | 2 / 33 | 97% | 52:29.00 | 52:28.00 | 0% | 1h37:10.00 | -46% | |
| | 2018 Scottish XC #3 | | Cathkin Braes Country Park | 15-16 | | 253 | | 2 / 17 | 94% | 42:18.61 | 41:56.36 | 0.9% | 1h23:21.92 | -49.3% | |
| | 2018 British Cycling MTB XC #2 | | Dalby Forest | 15-16 | | 404 | Peebles CC | 2 / 53 | 98% | 1h02:19.00 | 1h00:50.00 | 2.4% | 1h33:22.00 | -33.3% | |
| | 2018 Scottish XC #2 | | Dalbeattie | 15-16 | | 254 | Peebles CC | 1 / 11 | 100% | 1h05:00.00 | 1h05:00.00 | 0% | 1h51:04.00 | -41.5% | |
| | 2018 British Cycling MTB XC #1 | | Sherwood Pines | 15-16 | | 438 | Peebles CC | 4 / 55 | 94% | 58:49.00 | 57:17.00 | 2.7% | 1h45:47.00 | -44.4% | |
| | British Cycling - UK CX National Champs '18 | | Hetton Lyons Country Park | 15-16 | | 52 | Peebles CC | 16 / 66 | 77% | 33:58.20 | 31:24.50 | 8.2% | 1h06:11.00 | -48.7% | |
| | 2017 HSBC UK Cyclo-Cross National Trophy Series #5 | | Peel Park, West Yorkshire | 15-16 | | 48 | Peebles CC | 11 / 53 | 81% | 33:04.30 | 30:16.80 | 9.2% | 1h00:59.00 | -45.8% | |
| | 2017 POC Scottish Enduro Series #6 | | Dunkeld | 15-18 | | 33 | | 8 / 38 | 81% | 15:32.80 | 13:05.32 | 18.8% | 10:49.75 | 43.6% | |
| | 2017 POC Scottish Enduro Series #4 | | Innerleithen | 15-18 | | 36 | | 5 / 35 | 88% | 26:11.60 | 24:32.48 | 6.7% | 22:34.16 | 16.1% | |
| | 2017 British Cycling MTB XC #5 | | Royal Welsh Showground | 13-14 | | 502 | Peebles CC | 2 / 23 | 95% | 38:20.00 | 37:30.90 | 2.2% | 1h27:17.00 | -56.1% | |
| | British Cycling - UK XC National Champs '17 | | Cannock Chase | 13-14 | | 354 | Peebles CC | 3 / 41 | 95% | 53:30.00 | 51:38.50 | 3.6% | 1h43:07.00 | -48.1% | |
| | 2017 British Cycling MTB XC #4 | | Dalby Forest | 13-14 | | 502 | Peebles CC | 2 / 33 | 97% | 44:40.70 | 43:04.00 | 3.7% | 1h36:03.00 | -53.5% | |
| | Scottish Cycling - Scottish Cycling Mini DH Final | | Fort William | 13-14 | | 53 | Peebles CC | 1 / 14 | 100% | 59.76s | 59.76s | 0% | 59.60s | 0.3% | |
| | 2017 British Cycling MTB XC #3 | | Aske | 13-14 | | 502 | Peebles CC | 13 / 38 | 68% | 49:17.00 | 4.20s | 70304.8% | 1h34:48.00 | -48% | |
| | 2017 Borders Mini DH #3 | | Ae Forest | 13-14 | | 192 | Peebles CC | 4 / 26 | 88% | 1:08.40 | 1:05.73 | 4.1% | 1:05.73 | 4.1% | |
| | 2017 Scottish XC #2 | | Dunoon | 13-14 | | 43 | Peebles CC | 1 / 17 | 100% | 41:22.70 | 41:22.70 | 0% | 1h48:18.50 | -61.8% | |
| | 2017 British Cycling MTB XC #2 | | Wasing | 13-14 | | 562 | Peebles CC | 2 / 40 | 97% | 56:05.00 | 55:10.00 | 1.7% | 1h33:59.00 | -40.3% | |
| | 2017 British Cycling MTB XC #1 | | Pembrey Country Park | 13-14 | | 562 | Peebles CC | 2 / 31 | 97% | 38:09.00 | 36:53.00 | 3.4% | 1h46:01.00 | -64% | |
| | 2016 Scottish XC #6 | | Forfar | 13-14 | | 53 | | 1 / 15 | 100% | 36:52.80 | 36:52.80 | 0% | 1h29:31.59 | -58.8% | |
| | 2016 Borders Mini DH #5 | | Bowhill | 13-14 | | 145 | | 1 / 16 | 100% | 1:34.00 | 1:34.00 | 0% | 1:28.00 | 6.8% | |
| | 2016 Scottish XC #5 | | Blairadam, Fife | 13-14 | | 52 | Peebles CC | 1 / 14 | 100% | 34:56.00 | 34:56.00 | 0% | 1h23:02.00 | -57.9% | |
| | 2016 British Cycling MTB XC #5 | | Cannock Chase | 13-14 | | 355 | Peebles CC | 6 / 38 | 86% | 39:30.00 | 37:31.00 | 5.3% | 1h40:52.00 | -60.8% | |
| | British Cycling - UK XC National Champs '16 | | Cathkin Braes Country Park | 13-14 | | 148 | Peebles CC | 5 / 34 | 88% | 53:03.00 | 51:30.00 | 3% | 1h43:10.00 | -48.6% | |
| | 2016 British Cycling MTB XC #4 | | Fforest Fields | 13-14 | | 361 | Peebles CC | 3 / 39 | 95% | 1h00:42.00 | 59:00.00 | 2.9% | 1h45:49.00 | -42.6% | |
| | Scottish Cycling - Mini DH | | Fort William | U14 | | 77 | Peebles CC | 2 / 12 | 91% | 1:04.35 | 1:02.98 | 2.2% | 1:01.89 | 4% | |
| | 2016 Scottish XC #3 | | Cathkin Braes Country Park | 13-14 | | 55 | | 3 / 21 | 90% | 32:57.55 | 31:23.45 | 5% | 1h34:02.61 | -65% | |
| | 2016 Borders Mini DH #3 | | Innerleithen | 13-14 | | 145 | Peebles CC | 3 / 19 | 89% | 1:30.89 | 1:28.41 | 2.8% | 1:19.55 | 14.3% | |
| | 2016 Scottish XC #2 | | Dunoon | 13-14 | | 52 | | 2 / 16 | 93% | 29:00.00 | 28:39.00 | 1.2% | 1h51:06.00 | -73.9% | |
| | 2016 British Cycling MTB XC #2 | | Newnham Park | 13-14 | | 356 | Peebles CC | 6 / 34 | 85% | 44:23.00 | 41:52.00 | 6% | 1h42:54.00 | -56.9% | |
| | 2016 Borders Mini DH #2 | | Ae Forest | 13-14 | | 145 | Peebles CC | 1 / 22 | 100% | 1:09.80 | 1:09.80 | 0% | 1:04.43 | 8.3% | |
| | 2016 British Cycling MTB XC #1 | | Pembrey Country Park | 13-14 | | 424 | Peebles CC | 6 / 35 | 85% | 50:04.00 | 47:22.00 | 5.7% | 1h42:43.00 | -51.3% | |
| | 2016 Scottish XC #1 | | Laggan Wolftrax | 13-14 | | 52 | | 2 / 17 | 94% | 38:44.10 | 37:52.20 | 2.3% | 1h29:32.70 | -56.7% | |
| | 2015 Scottish XC #6 | | Forfar | 13-14 | | 58 | | 2 / 8 | 86% | 41:34.95 | 39:44.34 | 4.6% | 1h32:09.39 | -54.9% | |
| | 2015 Scottish XC #5 | | Badaguish | 13-14 | | 61 | | 5 / 11 | 60% | 21:53.16 | 19:45.30 | 10.8% | 1h40:10.30 | -78.2% | |
| | 2015 Scottish XC #4 | | Lochore Meadows Country Park | 13-14 | | 59 | | 3 / 10 | 78% | 25:00.58 | 23:02.75 | 8.5% | 1h51:36.37 | -77.6% | |
| | 2015 Scottish Power Youth Mini DH #6 | | Fort William | U12 | | 26 | Peebles CC | 1 / 15 | 100% | 1:12.95 | 1:12.95 | 0% | 1:06.07 | 10.4% | |
| | 2015 Scottish XC #3 | | Laggan Wolftrax | 13-14 | | 65 | Peebles Cycling Club | 7 / 15 | 57% | 44:37.00 | 39:53.00 | 11.9% | 1h36:07.00 | -53.6% | |
| | 2015 Scottish Power Youth Mini DH #5 | | Aberfeldy | U12 | | 27 | Peebles CC | 1 / 15 | 100% | 59.57s | 59.57s | 0% | 52.49s | 13.5% | |
| | 2015 Scottish Power Youth Mini DH #4 | | Fort William | U12 | | 27 | Peebles CC | 2 / 20 | 95% | 1:31.09 | 1:30.35 | 0.8% | 1:28.14 | 3.4% | |
| | 2015 Scottish Power Youth Mini DH #3 | | Comrie Croft | U12 | | 38 | Peebles CC | 1 / 22 | 100% | 3:10.00 | 3:10.00 | 0% | 2:41.00 | 18% | |
| | 2015 Scottish XC #2 | | Dalbeattie | 13-14 | | 62 | | 6 / 16 | 67% | 22:33.20 | 19:54.50 | 13.3% | 1h39:38.80 | -77.4% | |
| | 2015 Borders Mini DH #4 | | Innerleithen | Ripper | 899088 | 28 | Peebles CC | 3 / 17 | 88% | 1:44.40 | 1:37.80 | 6.8% | 1:35.10 | 9.8% | |
| | 2015 Scottish XC #1 | | Cathkin Braes Country Park | 13-14 | | 68 | | 4 / 19 | 83% | 35:58.83 | 32:27.57 | 10.9% | 1h28:52.36 | -59.5% | |
| | 2014 Scottish Power Youth Mini DH #5 | | Fort William | U12 | | 60 | | 1 / 9 | 100% | 1:09.76 | 1:09.76 | 0% | 1:03.21 | 10.4% | |
| | 2014 Scottish Power Youth Mini DH #1 | | Fort William | U12 | | 27 | Peebles CC | 1 / 15 | 100% | 2:33.00 | 2:33.00 | 0% | 2:26.00 | 4.8% | |
| | 2013 Inners Mini DH #3 | | Innerleithen | 10-12 | | ? | | 4 / 18 | 82% | 2:09.00 | 2:06.00 | 2.4% | 1:30.00 | 43.3% | |
| | 2013 Inners Mini DH #2 | | Innerleithen | 10-12 | | ? | | 4 / 23 | 86% | 1:53.00 | 1:44.00 | 8.7% | 1:28.00 | 28.4% | |
| | 2013 Inners Mini DH #1 | | Innerleithen | 10-12 | | 8 | | 1 / 18 | 100% | 2:02.00 | 2:02.00 | 0% | 1:32.00 | 32.6% | |
| | 2012 Inners Mini DH #3 | | Innerleithen | 10-12 | | 92 | | 10 / 15 | 36% | 2:26.57 | 1:50.29 | 32.9% | 1:33.21 | 57.3% | |
| | 2012 Inners Mini DH #2 | | Innerleithen | 10-12 | | 6 | | 9 / 13 | 33% | 2:18.63 | 1:42.69 | 35% | 1:30.19 | 53.7% | |
| | 2012 Inners Mini DH #1 | | Innerleithen | 10-12 | | 7 | | 8 / 10 | 22% | 2:21.64 | 1:46.20 | 33.4% | 1:25.66 | 65.4% | |
| | Tweedlove - Mini DH | | Innerleithen | U10 | | 808 | | 2 / 10 | 89% | 2:32.52 | 2:21.89 | 7.5% | 1:51.69 | 36.6% | |