| 12-10 | 27 | | UCI Gravel World Championship (CM) | 181.0km |
| 04-10 | 47 | | UEC Road European Championships U23 (CC) | 121.0km |
| 27-09 | 22 | | Grand Prix Cerami (1.2) | 176.0km |
| 24-09 | 101 | | Omloop van het Houtland (1.1) | 195.0km |
| 21-09 | 44 | | Gooikse Pijl (1.1) | 198.0km |
| 19-09 | 96 | | Kampioenschap van Vlaanderen (1.1) | 181.0km |
| 14-09 | 15 | | GP Rik Van Looy (1.2) | 185.0km |
| | | West Bohemia Tour (2.2U) |
| 7 | | Klassement |
| 10 | | Punten |
| 24-08 | 21 | 7 | Stage 3Plzeň - Plzeň (151.0km) | 151.0km |
| 23-08 | 6 | 10 | Stage 2Klatovy - Klatovy (157.0km) | 157.0km |
| 22-08 | 14 | 11 | Stage 1Rokycany - Rokycany (150.0km) | 150.0km |
| 21-08 | 23 | 23 | PrologueStarý Plzenec - Radyně (3.0km) | 3.0km |
| 10-08 | 27 | | Gran Premio Sportivi di Poggiana-Trofeo Bonin Costruzioni (1.2U) | |
| | | Tour Alsace (2.2) |
| 78 | | Klassement |
| 55 | | Jongeren |
| 03-08 | 76 | 78 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 12 | 103 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 121 | 121 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 26 | 30 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 11 | 32 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 12-07 | 18 | | UCI Gravel World Series - Gravel One Fifty (National) | 153.0km |
| 28-06 | 12 | | National Road Championships - Netherlands (CN) | 163.0km |
| 28-06 | 2 | | National Road Championships - Netherlands U23 (CN) | 163.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 62 | | Klassement |
| 24 | | Punten |
| 22-06 | 92 | 62 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 42 | 58 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 6 | 72 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 57 | 84 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 26 | 84 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 89 | 88 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 12 | 76 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 91 | 91 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Flèche du Sud (2.2) |
| 8 | | Klassement |
| 20 | | Punten |
| 2 | | Jongeren |
| 01-06 | 9 | 8 | Stage 4Esch-sur-Alzette - Esch-sur-Alzette (165.0km) | 165.0km |
| 31-05 | 19 | 8 | Stage 3Canach - Canach (195.0km) | 195.0km |
| 30-05 | 9 | 10 | Stage 2Sanem - Sanem (160.0km) | 160.0km |
| 29-05 | 16 | 16 | Stage 1Rumelange - Rumelange (151.0km) | 151.0km |
| 28-05 | 16 | 16 | PrologueDudelange - Dudelange (7.0km) | 7.0km |
| 11-05 | 52 | | Gent-Wevelgem / Kattekoers-Ieper (1.2U) | 189.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 20 | | Klassement |
| 01-05 | 15 | 20 | Stage 7Landébia - Plancoët (159.0km) | 159.0km |
| 30-04 | 49 | 25 | Stage 6Missillac - Le Pertre (178.0km) | 178.0km |
| 29-04 | 23 | 26 | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 34 | 43 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 34 | 50 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 16 | 60 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 127 | 113 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| 19-04 | 20 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| 13-04 | 40 | | Paris-Roubaix Espoirs (1.2U) | 167.0km |
| 21-03 | DNF | | Youngster Coast Challenge (1.2U) | 170.0km |
| 20-03 | DNF | | Grand Prix de Denain - Porte du Hainaut (1.Pro) | 197.0km |
| | | Tour of Rhodes (2.2) |
| 91 | | Klassement |
| 48 | | Jongeren |
| 16-03 | 27 | 91 | Stage 3Kremasti - Kremasti (155.0km) | 155.0km |
| 15-03 | 12 | 103 | Stage 2Rhodes - Kalithies (158.0km) | 158.0km |
| 14-03 | 111 | 114 | Stage 1Rhodes - Soroni (148.0km) | 148.0km |
| 13-03 | 118 | 118 | PrologueRhodes - Rhodes (5.0km) | 5.0km |
| 08-03 | 39 | | Rhodes GP (1.2) | 179.0km |
| 02-03 | DNF | | Kuurne - Brussel - Kuurne (1.Pro) | 196.0km |
| 16-02 | 78 | | Clasica de Almeria (1.Pro) | 189.0km |
| 12-01 | DNS | | Dutch National Championships CX (CN) | |