08.10 | 75 | | | UCI Gravel World Championships - ME (NAT) United States | 163 | | | more |
03.09 › 10.093-10/9 | | | | Tour of Britain (2.Pro) | | | | more |
| 8 | | | Youth classificationYouth classification | | | | |
| 31 | | | Points classificationPoints classification | | | | |
| 40 | | | General classificationGeneral classification | | | 3 | |
10.09 | 24 | | | S8Stage 8 - Margam Country Park › Caerphilly | 166.8 | | | |
09.09 | 50 | 47 | | S7Stage 7 - Tewkesbury › Gloucester | 170.9 | | | |
08.09 | 18 | 12 | | S6Stage 6 - Southend-on-Sea › Harlow | 146.2 | | | |
07.09 | 16 | 17 | | S5Stage 5 - Felixstowe › Felixstowe | 192.4 | | | |
06.09 | 12 | 20 | | S4Stage 4 - Sherwood Forest › Newark-on-Trent | 166.6 | | | |
05.09 | 27 | 28 | | S3Stage 3 - Goole › Beverley | 154.7 | | | |
04.09 | 7 | 37 | | S2Stage 2 - Wrexham › Wrexham | 109.9 | 2 | | |
03.09 | 70 | 70 | | S1Stage 1 - Altrincham › Manchester | 161.6 | | | |
20.08 › 27.0820-27/8 | | | | Tour de l'Avenir (2.Ncup) United States | | | | more |
| 111 | | | General classificationGeneral classification | | | | |
27.08 | 92 | | | S8Stage 8 - Val-Cenis › Sainte-Foy-Tarentaise | 99.6 | | | |
26.08 | 117 | 119 | | S7bStage 7b - Les Karellis › Val-Cenis Col du Mont Cenis | 70 | | | |
26.08 | 122 | 123 | | S7a (ITT)Stage 7a (ITT) - Montricher-Albanne › Les Karellis | 11.1 | | | |
25.08 | 111 | 123 | | S6Stage 6 - Méribel › Col de la Loze | 65 | | | |
24.08 | 136 | 124 | | S5Stage 5 - La Tour-de-Salvagny › Lac d'Aiguebelette | 141 | | | |
23.08 | 110 | 108 | | S4Stage 4 - Aigurande › Evaux-les-Bains | 133 | | | |
22.08 | 14 | 103 | | S3 (TTT)Stage 3 (TTT) - Issoudun › Vatan | 26.5 | | | |
21.08 | 28 | 105 | | S2Stage 2 - Nozay › Chinon | 189 | | | |
20.08 | 138 | 138 | | S1Stage 1 - Carnac › La Gacilly | 140 | | | |
12.08 | 15 | | | World Championships MU - Road Race (WC) United States | 168.4 | 6 | 10 | more |
27.07 › 30.0727-30/7 | | | | Czech Tour (2.1) | | | | more |
| 19 | | | Youth classificationYouth classification | | | | |
| 4 | | | Points classificationPoints classification | | | | |
| 74 | | | General classificationGeneral classification | | | | |
30.07 | 5 | | | S4Stage 4 - Šumperk › Šternberk | 176.2 | 4 | | |
29.07 | 110 | 101 | | S3Stage 3 - Moravská Třebová › Červenohorské sedlo | 161.5 | | | |
28.07 | 83 | 77 | | S2Stage 2 - Olomouc › Pustevny | 166.9 | | | |
27.07 | 3 | 3 | | S1Stage 1 - Prostějov › Uničov | 165 | 7 | 3 | |
25.06 | 8 | | | National Championships United States ME - Road Race (NC) | 186.1 | | 10 | more |
23.06 | 1 | | | US Pro Criterium Championship - ME (NAT) | | 75 | | more |
11.06 › 18.0611-18/6 | | | | Giro Next Gen (2.2U) | | | | more |
| 4 | | | Points classificationPoints classification | | | | |
| 87 | | | General classificationGeneral classification | | | | |
18.06 | 25 | | | S8Stage 8 - Tavagnacco › Trieste | 131 | | | |
17.06 | 89 | 90 | | S7Stage 7 - Possagno › Pian del Cansiglio | 176 | | | |
16.06 | 8 | 87 | | S6Stage 6 - Pergine Valsugana › Povegliano | 166 | | | |
15.06 | 121 | 95 | | S5Stage 5 - Cesano Maderno › Manerba del Garda | 159 | | | |
14.06 | 118 | 85 | | S4Stage 4 - Morbegno › Passo dello Stelvio | 119 | | | |
13.06 | 1 | 23 | | S3Stage 3 - Priocca › Magenta | 146 | 5 | 5 | |
12.06 | 80 | 35 | | S2Stage 2 - San Francesco al Campo › Cherasco | 151 | | | |
11.06 | 52 | 52 | | S1 (ITT)Stage 1 (ITT) - Agliè › Agliè | 9.4 | | | |
21.05 › 28.0521-28/5 | | | | Tour of Japan (2.1) | | | | more |
| 5 | | | Youth classificationYouth classification | | | | |
| 1 | | | Points classificationPoints classification | | | | |
| 26 | | | General classificationGeneral classification | | | | |
28.05 | 4 | | | S8Stage 8 - Tokyo › Tokyo | 105.15 | 5 | | |
27.05 | 1 | 26 | | S7Stage 7 - Sagamihara › Sagamihara | 107.5 | 20 | 14 | |
26.05 | 45 | 26 | | S6Stage 6 - Subashiri › Mount Fuji | 11.4 | | | |
25.05 | 11 | 5 | | S5Stage 5 - Shimohisakata › Shimohisakata | 120.9 | | | |
24.05 | 1 | 1 | | S4Stage 4 - Mino › Mino | 137.3 | 20 | 14 | |
23.05 | 2 | 1 | | S3Stage 3 - Inabe › Inabe | 127 | 12 | 5 | |
22.05 | 5 | 5 | | S2Stage 2 - Shimokoma › Seika | 103.6 | 4 | | |
21.05 | 1 | 1 | | S1 (ITT)Stage 1 (ITT) - Sakai › Sakai | 2.6 | 20 | 14 | |
21.05 | 3 | | | International Criterium in Sakai (NAT) | 27 | 100 | | more |
25.04 › 01.0525-1/4 | | | | Le Tour de Bretagne Cycliste (2.2) | | | | more |
| 2 | | | Youth classificationYouth classification | | | | |
| 24 | | | Mountains classificationMountains classification | | | | |
| 1 | | | Points classificationPoints classification | | | | |
| 3 | | | General classificationGeneral classification | | 14 | 25 | |
01.05 | 10 | | | S7Stage 7 - Piré-Chancé › Châteaugiron | 163.5 | | | |
30.04 | NR | 3 | | S6Stage 6 - Châteaubriant › Plancoët | 209.4 119 | | | |
29.04 | 6 | 3 | | S5Stage 5 - Sérent › Louisfert | 173.9 | | | |
28.04 | 6 | 3 | | S4Stage 4 - Le Mené › Plumelec | 183.1 | | | |
27.04 | 7 | 3 | | S3Stage 3 - Trégunc › Le Quillio | 191.5 | | | |
26.04 | 3 | 1 | | S2Stage 2 - Sibiril › Melgven | 172.2 | 1 | 1 | |
25.04 | 1 | 1 | | S1Stage 1 - Plouescat › Saint-Pol-de-Léon | 155.5 | 5 | 7 -2 | |
23.04 | 1 | | | Rutland-Melton CiCLE Classic (1.2) | 183.5 | 15 | 40 | more |
15.04 | DNF | | | Liège - Bastogne - Liège U23 (1.2U) | 174.1 | | | more |
06.04 › 09.046-9/4 | | | | Circuit des Ardennes (2.2) | | | | more |
| 33 | | | Youth classificationYouth classification | | | | |
| 3 | | | Points classificationPoints classification | | | | |
| 55 | | | General classificationGeneral classification | | | | |
09.04 | 1 | | | S4Stage 4 - Bazeilles › Charleville-Mézières | 138.7 | 5 | 7 | |
08.04 | 77 | 61 | | S3Stage 3 - Chooz › Haybes | 169.6 | | | |
07.04 | 6 | 21 | | S2Stage 2 - Renneville › Gruyères | 185.6 | | | |
06.04 | 101 | 101 | | S1Stage 1 - Nouvion-sur-Meuse › Sedan | 89.6 | | | |
22.03 › 26.0322-26/3 | | | | Volta ao Alentejo (2.2) | | | | more |
| 7 | | | Youth classificationYouth classification | | | | |
| 4 | | | Points classificationPoints classification | | | | |
| 60 | | | General classificationGeneral classification | | | | |
26.03 | 4 | | | S5Stage 5 - Monforte › Évora | 154.9 | | | |
25.03 | 70 | 59 | | S4Stage 4 - Crato › Castelo de Vide | 148.2 | | | |
24.03 | 15 | 2 | | S3Stage 3 - Vendas Novas › Estremoz | 191.4 | | | |
23.03 | 10 | 1 | | S2Stage 2 - Castro Verde › Grândola | 170.8 | | | |
22.03 | 1 | 1 | | S1Stage 1 - Beja › Ourique | 168.8 | 5 | 7 | |
19.03 | 10 | | | Classica da Arrabida - Cyclin'Portugal (1.2) | 182 | | 3 | more |
17.03 | 5 | | | Youngster Coast Challenge (1.2U) United States | 166.1 | 2 | 10 | more |
23.02 › 26.0223-26/2 | | | | O Gran Camiño (2.1) | | | | more |
| 26 | | | Youth classificationYouth classification | | | | |
| 92 | | | General classificationGeneral classification | | | | |
26.02 | 26 | | | S4 (ITT)Stage 4 (ITT) - Novo Milladoiro › Santiago de Compostela | 18.1 | | | |
25.02 | 100 | 94 | | S3Stage 3 - Esgos › Rubiá (Alto do Castelo) | 123.4 | | | |
24.02 | 71 | 71 | | S2Stage 2 - Tui › A Guarda (Monte Trega) | 184.3 | | | |
23.02 | NR | | | S1Stage 1 - Muralla de Lugo › Sarria | 188 172 | | | |