| 23-09 | 34 | | UCI World Championship Wollongong U23 (CM) | 169.0km |
| 11-09 | 59 | | Grand Prix de la Somme Conseil Départemental 80 (1.2) | 173.0km |
| 04-09 | 65 | | Tour du Doubs (1.1) | 204.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 54 | | Klassement |
| 37 | | Punten |
| 28-08 | 70 | 54 | Stage 9Bessans - Villaroger (134.0km) | 134.0km |
| 27-08 | 63 | 56 | Stage 8Ugine - La Toussuire (99.0km) | 99.0km |
| 26-08 | 79 | 60 | Stage 7Thonon-les-Bains - Saint-François-Longchamp (175.0km) | 175.0km |
| 24-08 | 69 | 50 | Stage 6Saint-Amour - Oyonnax (124.0km) | 124.0km |
| 23-08 | | 25 | Stage 5Gueugnon - Saint-Vallier (27.0km) | 27.0km |
| 22-08 | 15 | 14 | Stage 4Sainte-Sévère-sur-Indre - Chaillac (142.0km) | 142.0km |
| 21-08 | 15 | 18 | Stage 3Civray - La Trimouille (153.0km) | 153.0km |
| 20-08 | 52 | 25 | Stage 2Benet - Civray (142.0km) | 142.0km |
| 19-08 | 13 | 13 | Stage 1La Roche-sur-Yon - La Roche-sur-Yon (121.0km) | 121.0km |
| 14-08 | 22 | | UEC Road European Championships (CC) | 209.0km |
| 07-08 | DNF | | Tour of Leuven - Memorial Jef Scherens (1.1) | 199.0km |
| | | Tour d'Alsace (2.2) |
| 100 | | Klassement |
| 31-07 | 23 | 100 | Stage 5Mulhouse - Berrwiller (158.0km) | 158.0km |
| 30-07 | 19 | 103 | Stage 4Kembs - Altkirch (169.0km) | 169.0km |
| 29-07 | 97 | 111 | Stage 3Vesoul - La Planche des Belles Filles (144.0km) | 144.0km |
| 28-07 | 111 | 119 | Stage 2Rust (Europapark) - Scherwiller (156.0km) | 156.0km |
| 27-07 | 107 | 107 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 24-07 | 69 | | Grand Prix de la ville de Pérenchies (1.2) | 178.0km |
| 10-07 | 49 | | UEC Road European Championships U23 (CC) | 147.0km |
| 03-07 | 4 | | National Road Championships - Luxembourg U23 (CN) | |
| 26-06 | 18 | | National Road Championships - Luxembourg (CN) | |
| 24-06 | 7 | | National Road Championships - Luxembourg TT U23 (CN) | |
| 19-06 | 28 | | Midden-Brabant Poort Omloop (1.2) | |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 70 | | Klassement |
| 05-06 | 73 | 70 | Stage 4Jeseník - Jeseník (166.0km) | 166.0km |
| 04-06 | 89 | 77 | Stage 3Bruntal - Dlouhé (134.0km) | 134.0km |
| 03-06 | 19 | 50 | Stage 2Jeseník - Rýmařov (131.0km) | 131.0km |
| 02-06 | 59 | 59 | Stage 1Jeseník - Jeseník (3.0km) | 3.0km |
| | | Flèche du Sud (2.2) |
| 51 | | Klassement |
| 4 | | Berg |
| 29-05 | 23 | 51 | Stage 5Esch-sur-Alzette - Esch-sur-Alzette (140.0km) | 140.0km |
| 28-05 | 38 | 52 | Stage 4Mondorf-les-Bains - Mondorf-les-Bains (165.0km) | 165.0km |
| 27-05 | 69 | 72 | Stage 3Bourscheid - Bourscheid (126.0km) | 126.0km |
| 26-05 | 97 | 77 | Stage 2Rumelange - Rumelange (165.0km) | 165.0km |
| 25-05 | 45 | 45 | Stage 1Kayl - Kayl (73.0km) | 73.0km |
| 07-05 | 47 | | Ronde van Overijssel (2.2) | 199.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 56 | | Klassement |
| 01-05 | 65 | 56 | Stage 7Ploumilliau - Lannion (158.0km) | 158.0km |
| 30-04 | 76 | 56 | Stage 6Plumergat - Camors (162.0km) | 162.0km |
| 29-04 | 60 | 51 | Stage 5Ploërmel - Scaer (193.0km) | 193.0km |
| 28-04 | 59 | 53 | Stage 4Saint-Jacut-de-la-Mer - Guillac (167.0km) | 167.0km |
| 27-04 | 61 | 60 | Stage 3Lohéac - Le Hinglé (171.0km) | 171.0km |
| 26-04 | 55 | 49 | Stage 2Missilac - La Chapelle Bouexic (152.0km) | 152.0km |
| 25-04 | 48 | 49 | Stage 1Guenrouet - Sainte-Reine-de-Bretagne (162.0km) | 162.0km |
| | | Le Triptyque des Monts et Châteaux
(2.2U) |
| 33 | | Klassement |
| 03-04 | 61 | 33 | Stage 3bEllezelles - Saint-Sauveur (96.0km) | 96.0km |
| 03-04 | 75 | 36 | Stage 3aWodecq - Wodecq (14.0km) | 14.0km |
| 02-04 | 32 | 38 | Stage 2Bernissart - Tertre (169.0km) | 169.0km |
| 01-04 | 78 | 78 | Stage 1Antoing - Mont-Saint-Aubert (131.0km) | 131.0km |
| 27-03 | 30 | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.NCUP) | 177.0km |
| 20-03 | 31 | | Grand Prix Criquielion (1.2) | 188.0km |
| 18-03 | 39 | | Youngster Coast Challenge (1.2U) | |
| 06-03 | 69 | | Visit Friesland Elfsteden Race (1.2) | 206.0km |