| 27-09 | 60 | | UCI World Championship Innsbruck U19 (CM) | 138.0km |
| 25-09 | 45 | | UCI World Championship Innsbruck TT U19 (CM) | 28.0km |
| | | Grand Prix Róebliland (2.1) |
| 79 | | Klassement |
| 02-09 | 59 | 79 | Stage 4Steinmaur - Steinmaur (114.0km) | 114.0km |
| 01-09 | 64 | 90 | Stage 3Möhlin - Möhlin (9.0km) | 9.0km |
| 01-09 | 109 | 90 | Stage 2Möhlin - Möhlin (83.0km) | 83.0km |
| 31-08 | 68 | 71 | Stage 1Wittnau - Wittnau (93.0km) | 93.0km |
| 19-08 | 21 | | MTB XCO Benelux Kampioenschap - Kluisbergen U19 (2) | |
| 15-07 | 25 | | UEC Road European Championships U19 (CC) | 118.0km |
| 13-07 | 26 | | UEC Road European Championships TT U19 (CC) | 24.0km |
| | | GP Général Patton (2.NCUP) |
| 19 | | Klassement |
| 08-07 | 26 | 19 | Stage 2Munshausen - Munshausen (93.0km) | 93.0km |
| 07-07 | 19 | | Stage 1Ettelbrück - Troisvierges (102.0km) | 102.0km |
| 01-07 | 3 | | National Road Championships - Luxembourg U19 (CN) | 23.0km |
| 28-06 | 3 | | National Road Championships - Luxembourg TT U19 (CN) | |
| | | 31. Trofeo (2.NCUP) |
| 29 | | Klassement |
| 1 | | Berg |
| 10-06 | 58 | 29 | Stage 4Niedergailbach - Bliesdalheim (120.0km) | 120.0km |
| 09-06 | 33 | 33 | Stage 3aHomburg - Homburg (79.0km) | 79.0km |
| 09-06 | 39 | 31 | Stage 3bMedelsheim - Medelsheim (13.0km) | 13.0km |
| 08-06 | 84 | 35 | Stage 2Ommersheim - Altheim (99.0km) | 99.0km |
| 07-06 | 29 | 29 | Stage 1Neunkirchen - Münchwies (110.0km) | 110.0km |
| | | Tour du Pays de Vaud (2.NCUP) |
| 63 | | Klassement |
| 27-05 | 83 | 63 | Stage 4Cossonay - Tartegnin (113.0km) | 113.0km |
| 26-05 | 54 | 45 | Stage 3aCully - Savigny (78.0km) | 78.0km |
| 26-05 | 41 | | Stage 3bSavigny - Savigny (10.0km) | 10.0km |
| 25-05 | 33 | 43 | Stage 2Missy - Bioley-Magnoux (120.0km) | 120.0km |
| 24-05 | 54 | 54 | Stage 1Lausanne - Lausanne (4.0km) | 4.0km |
| | | Course de la Paix Juniors (2.NCUP) |
| 45 | | Klassement |
| 06-05 | 75 | 45 | Stage 4Benesov nad Ploucnici - Terezín (97.0km) | 97.0km |
| 05-05 | 43 | 38 | Stage 3Teplice - Altenberg (96.0km) | 96.0km |
| 04-05 | 47 | 39 | Stage 2aTrebenice - Trebenice (11.0km) | 11.0km |
| 04-05 | 68 | 36 | Stage 2bRoudnice nad Labem - Roudnice nad Labem (62.0km) | 62.0km |
| 03-05 | 47 | 47 | Stage 1Litomerice - Litomerice (102.0km) | 102.0km |
| | | 5éme Tour des Portes du Pays d'Othe (2.1) |
| 24 | | Klassement |
| 13 | | Berg |
| 29-04 | 85 | 24 | Stage 2bEstissac - Estissac (90.0km) | 90.0km |
| 29-04 | 27 | 24 | Stage 2aEstissac - Estissac (16.0km) | 16.0km |
| 28-04 | 91 | 91 | Stage 1Romilly-s-Seine - Estissac (93.0km) | 93.0km |
| 08-04 | 32 | | Paris - Roubaix Juniors (1.NCUP) | |
| 25-03 | 90 | | Gent-Wevelgem/Grote Prijs A. Noyelle-Ieper (1.NCUP) | |
| 13-01 | 9 | | Luxemburg National Championships Cyclo-Cross U19 (CN) | |