| 22-09 | DNF | | UCI World Championship Bergen U23 (CM) | 191.0km |
| | | Olympia's Tour (2.2U) |
| 10-09 | DNF | | Stage 6Margraten - Noorbeek (173.0km) | 173.0km |
| 09-09 | 3 | 13 | Stage 5Offenbeek - Offenbeek (150.0km) | 150.0km |
| 08-09 | 1 | 14 | Stage 4Hardenberg - Hardenberg (141.0km) | 141.0km |
| 07-09 | 1 | 20 | Stage 3Uffelte - Vledder (126.0km) | 126.0km |
| 06-09 | 26 | 32 | Stage 2Assen - Assen (131.0km) | 131.0km |
| 05-09 | 37 | 37 | Stage 1Eelde-Paterswolde - Eelde-Paterswolde (4.0km) | 4.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 26-08 | DNF | | Stage 8Albertville - Sainte-Foy-Tarentaise (120.0km) | 120.0km |
| 25-08 | 121 | 124 | Stage 7Saint-Gervais Mont-Blanc - Le Saisies (118.0km) | 118.0km |
| 23-08 | 10 | 120 | Stage 6Montrichard - Saint-Amand-Montrond (139.0km) | 139.0km |
| 22-08 | 107 | 122 | Stage 5Montreuil - Amboise (157.0km) | 157.0km |
| 21-08 | 137 | 125 | Stage 4Derval - Saumur (166.0km) | 166.0km |
| 20-08 | 6 | 16 | Stage 3Missillac - Chateaubriant (125.0km) | 125.0km |
| 19-08 | 1 | 32 | Stage 2Inzinzac-Lochrist - Bignan (132.0km) | 132.0km |
| 18-08 | 76 | 76 | Stage 1Loudéac - Loudéac (134.0km) | 134.0km |
| 13-08 | 8 | | Profronde Etten-Leur (Cri) | |
| 08-08 | 4 | | Gouden Pijl (Cri) | |
| 05-08 | 6 | | UEC Road European Championships U23 (CC) | 160.0km |
| | | Tour Alsace (2.2) |
| 110 | | Klassement |
| 30-07 | 1 | 110 | Stage 5Neuf-Brisach - Dannemarie (155.0km) | 155.0km |
| 29-07 | 112 | 113 | Stage 4Ribeauville - Lac Blanc (165.0km) | 165.0km |
| 28-07 | 78 | 126 | Stage 3Belfort - Blotzheim (144.0km) | 144.0km |
| 27-07 | 111 | 136 | Stage 2Velleminfroy - La Planche des Belles Filles (136.0km) | 136.0km |
| 26-07 | 146 | 146 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 02-07 | 5 | | KOGA Slag om Norg (1.1) | 190.0km |
| 24-06 | 1 | | National Road Championships - Netherlands U23 (CN) | 165.0km |
| | | Baby Giro (2.2) |
| 114 | | Klassement |
| 15-06 | 117 | 114 | Stage 7Francavilla al Mare - Campo Imperatore (148.0km) | 148.0km |
| 14-06 | 123 | 109 | Stage 6Francavilla al Mare - Casalincontrada (133.0km) | 133.0km |
| 13-06 | 120 | | Stage 5aSenigallia - Osimo (87.0km) | 87.0km |
| 13-06 | 111 | 95 | Stage 5bCampocavallo - Campocavallo (14.0km) | 14.0km |
| 12-06 | 2 | 85 | Stage 4Forlì - Gabicce Mare (155.0km) | 155.0km |
| 11-06 | 68 | 93 | Stage 3Bagnara di Romagna - Forlì (140.0km) | 140.0km |
| 10-06 | 123 | 93 | Stage 2Castellarano - Castellarano (145.0km) | 145.0km |
| 09-06 | 39 | 39 | Stage 1Imola (Autodromo Enzo e Dino Ferrari) - Imola (Autodromo Enzo e Dino Ferrari) (132.0km) | 132.0km |
| 28-05 | 23 | | Paris-Roubaix Espoirs (1.2U) | |
| 14-05 | 1 | | 71e Profronde van Noord-Holland (1.2) | |
| 01-05 | 1 | | Rund um den Finanzplatz Eschborn-Frankfurt (U23) (1.2U) | |
| 29-04 | 8 | | ZODC Zuidenveld Tour (1.2) | |
| 22-04 | 4 | | Arno Wallaard Memorial (1.2) | |
| 15-04 | DNF | | ZLM tour (1.NCUP) | |
| 08-04 | 14 | | Ronde van Vlaanderen U23 (1.NCUP) | |
| 01-04 | DNF | | Volta Limburg Classic (1.1) | 198.0km |
| | | Tour de Normandie (2.2) |
| 65 | | Klassement |
| 2 | | Punten |
| 26-03 | 6 | 65 | Stage 7Sourdeval - Caen (144.0km) | 144.0km |
| 25-03 | 112 | 68 | Stage 6Fleury-sur-Orne - Ducey (166.0km) | 166.0km |
| 24-03 | 3 | 39 | Stage 5La Ferté-Macé - Bagnoles de l'Orne (158.0km) | 158.0km |
| 23-03 | 2 | 46 | Stage 4Le Neubourg - Argentan (163.0km) | 163.0km |
| 22-03 | 86 | 54 | Stage 3Duclair - Elbeuf (165.0km) | 165.0km |
| 21-03 | 1 | 55 | Stage 2Neufchâtel-en-Bray - Forges-les-Eaux (153.0km) | 153.0km |
| 20-03 | 56 | 56 | Stage 1Bourg-Achard - Gonfreville-l'Orcher (143.0km) | 143.0km |
| 12-03 | 2 | | Rabobank Dorpenomloop Rucphen (1.2) | |
| 11-03 | 20 | | Ronde van Drenthe (1.1) | |
| 04-03 | 1 | | Ster van Zwolle (Nat) | |