30.07 › 03.0830-3/7 | | | | Tour Alsace (2.2) | | | | more |
| 55 | | | Youth classificationYouth classification | | | | |
| 78 | | | General classificationGeneral classification | | | | |
03.08 | 76 | | | S5Stage 5 - Ribeauvillé › Champ du Feu | 134.6 | | | |
02.08 | 12 | 103 | | S4Stage 4 - Ferrette › Altkirch | 133.5 | | | |
01.08 | 121 | 121 | | S3Stage 3 - Velleminfroy › La Planche des Belles Filles | 141.4 | | | |
31.07 | 26 | 30 | | S2Stage 2 - Rust (Europa-Park) › Sélestat | 152.7 | | | |
30.07 | 13 | 32 | | S1 (TTT)Stage 1 (TTT) - Sausheim › Sausheim | 4.3 | | | |
12.07 | 18 | | | UCI Gravel World Series ME - Gravel One Fifty (GRV) | 150 | | | more |
28.06 | 12 | | | National Championships Netherlands ME - Road Race (NC) | 163 | | 1 | more |
15.06 › 22.0615-22/6 | | | | Giro d'Italia Next Gen (2.2U) | | | | more |
| 24 | | | Points classificationPoints classification | | | | |
| 62 | | | General classificationGeneral classification | | | | |
22.06 | 92 | | | S8Stage 8 - Pinerolo › Pinerolo | 127 | | | |
21.06 | 42 | 58 | | S7Stage 7 - Bra › Prato Nevoso | 163 | | | |
20.06 | 6 | 72 | | S6Stage 6 - Ovada › Acqui Terme | 154 | | | |
19.06 | 57 | 84 | | S5Stage 5 - Fiorenzuola d'Arda › Gavi | 153 | | | |
18.06 | 26 | 84 | | S4Stage 4 - Manerbio › Salsomaggiore Terme | 134 | | | |
17.06 | 89 | 88 | | S3Stage 3 - Albese Con Cassano › Passo del Maniva | 144 | | | |
16.06 | 12 | 76 | | S2Stage 2 - Rho Fiera Milano › Cantù | 146 | | | |
15.06 | 91 | 91 | | S1 (ITT)Stage 1 (ITT) - Rho › Rho | 8.4 | | | |
28.05 › 01.0628-1/5 | | | | Flèche du Sud (2.2) | | | | more |
| 2 | | | Youth classificationYouth classification | | | | |
| 20 | | | Points classificationPoints classification | | | | |
| 8 | | | General classificationGeneral classification | | 3 | 3 | |
01.06 | 9 | | | S5Stage 5 - Esch-sur-Alzette › Esch-sur-Alzette | 165.4 | | | |
31.05 | 19 | 8 | | S4Stage 4 - Canach › Canach | 195.4 | | | |
30.05 | 9 | 10 | | S3Stage 3 - Sanem › Sanem | 160.2 | | | |
29.05 | 16 | 17 | | S2Stage 2 - Rumelange › Rumelange | 151.2 | | | |
28.05 | 16 | 16 | | S1 (ITT)Stage 1 (ITT) - Dudelange › Dudelange | 7.31 | | | |
11.05 | 52 | | | Gent-Wevelgem / Kattekoers-Ieper (1.2U) | 188.5 | | | more |
25.04 › 01.0525-1/4 | | | | Le Tour de Bretagne Cycliste (2.2) | | | | more |
| 20 | | | General classificationGeneral classification | | | | |
01.05 | 15 | | | S7Stage 7 - Landébia › Plancoët | 159.2 | | | |
30.04 | 21 | 25 | | S6Stage 6 - Missillac › Le Pertre | 179.8 | | | |
29.04 | 23 | 26 | | S5Stage 5 - Erdeven › Guenrouët | 164.1 | | | |
28.04 | 34 | 43 | | S4Stage 4 - Plonéour-Lanvern › Landévant | 204.6 | | | |
27.04 | 34 | 50 | | S3Stage 3 - Loudéac › Plonéour-Lanvern | 212 | | | |
26.04 | 16 | 60 | | S2Stage 2 - La Gouesnière › Le Cambout | 182.2 | | | |
25.04 | 127 | 113 | | S1Stage 1 - Hirel › Le Fresnais | 143.2 | | | |
19.04 | 20 | | | Liège-Bastogne-Liège MU (1.2U) | 174.6 | | | more |
13.04 | 40 | | | Paris-Roubaix Espoirs (1.2U) | 167 | | | more |
21.03 | DNF | | | Youngster Coast Challenge (1.2U) | 170.9 | | | more |
20.03 | DNF | | | Grand Prix de Denain - Porte du Hainaut (1.Pro) Team Jayco AlUla | 197.4 | | | more |
13.03 › 16.0313-16/3 | | | | Tour of Rhodes Powered by Rodos Palace (2.2) | | | | more |
| 48 | | | Youth classificationYouth classification | | | | |
| 91 | | | General classificationGeneral classification | | | | |
16.03 | 27 | | | S3Stage 3 - Kremasti › Kremasti | 155.9 | | | |
15.03 | 12 | 103 | | S2Stage 2 - Rhodes › Kalithies | 158.5 | | | |
14.03 | 111 | 114 | | S1Stage 1 - Rhodes › Soroni | 148.5 | | | |
13.03 | 118 | 118 | | ProloguePrologue - Rhodes › Rhodes | 5.1 | | | |
08.03 | 39 | | | Rhodes GP (1.2) | 179.7 | | | more |
02.03 | DNF | | | Kuurne - Brussel - Kuurne (1.Pro) Team Jayco AlUla | 196.9 | | | more |
16.02 | 78 | | | Clasica de Almeria ME (1.Pro) Team Jayco AlUla | 189.1 | | | more |