06.10 | 44 | | | Paris - Tours Espoirs (1.2U) | 178.9 | | | more |
03.10 | 51 | | | Sparkassen Münsterland Giro (1.Pro) | 202 | | | more |
27.09 | 67 | | | World Championships MU - Road Race (WC) | 173.6 | | | more |
18.09 › 22.0918-22/9 | | | | Skoda Tour de Luxembourg (2.Pro) Luxembourg | | | | more |
| 36 | | | Youth classificationYouth classification | | | | |
| 84 | | | General classificationGeneral classification | | | | |
22.09 | 60 | | | S5Stage 5 - Mersch › Luxembourg | 176.9 | | | |
21.09 | 68 | 94 | | S4 (ITT)Stage 4 (ITT) - Differdange › Differdange | 15.5 | | | |
20.09 | 91 | 94 | | S3Stage 3 - Rosport › Diekirch | 201.3 | | | |
19.09 | 16 | 98 | | S2Stage 2 - Junglinster › Schifflange | 155 | | | |
18.09 | 105 | 105 | | S1Stage 1 - Luxembourg › Luxembourg | 158 | | | |
13.09 | 19 | | | European Continental Championships MU - Road Race (CC) | 162 | | 3 | more |
11.09 | 21 | | | European Continental Championships MU - ITT (CC) | 31.3 | | | more |
18.08 › 24.0818-24/8 | | | | Tour de l'Avenir (2.Ncup) | | | | more |
| 35 | | | Youth classificationYouth classification | | | | |
| 27 | | | Points classificationPoints classification | | | | |
| 83 | | | General classificationGeneral classification | | | | |
24.08 | 90 | | | S6Stage 6 - Bobbio Pelice › Colle delle Finestre | 127.2 | | | |
23.08 | 61 | 81 | | S5Stage 5 - Les Karellis › Condoue | 119.3 | | | |
22.08 | 55 | 81 | | S4Stage 4 - La Rosière › Les Karellis | 142.6 | | | |
21.08 | 100 | 97 | | S3Stage 3 - Peisey-Vallandry › La Rosière | 70.7 | | | |
20.08 | 112 | 96 | | S2Stage 2 - Mouchard › Plateau d'Hauteville | 170.2 | | | |
19.08 | 7 | 26 | | S1Stage 1 - Sarrebourg › Ronchamp-Champagney | 184.5 | | | |
18.08 | 25 | 25 | | ProloguePrologue - Sarrebourg › Sarrebourg | 7.1 | | | |
11.08 | 29 | | | Großer Silberpilspreis (NAT) | 200 | | | more |
21.07 | 59 | | | Rad am Ring (NAT) | 107.9 | | | more |
02.07 › 07.072-7/7 | | | | Tour of Austria (2.1) | | | | more |
| 17 | | | Youth classificationYouth classification | | | | |
| 45 | | | General classificationGeneral classification | | | | |
06.07 | 36 | 45 | | S4Stage 4 - St. Johann Alpendorf › Kals | 151.7 | | | |
05.07 | 105 | 63 | | S3Stage 3 - Schladming › St. Johann Alpendorf | 153.1 | | | |
04.07 | 39 | 31 | | S2Stage 2 - Maria Taferl › Steyr | 184.5 | | | |
03.07 | 36 | 29 | | S1Stage 1 - Bad Tatzmannsdorf › Bad Tatzmannsdorf | 177.9 | | | |
02.07 | 34 | 34 | | ProloguePrologue - St. Pölten › St. Pölten | 3 | | | |
30.06 | DNF | | | National Championships Luxembourg MU - Road Race (NC) | 148.8 | | | more |
23.06 | 4 | | | National Championships Luxembourg ME - Road Race (NC) | 144.8 | 4 | 50 | more |
21.06 | 2 | | | National Championships Luxembourg MU - ITT (NC) | | | 15 | more |
09.06 › 16.069-16/6 | | | | Giro d'Italia Next Gen (2.2U) | | | | more |
| 33 | | | General classificationGeneral classification | | | | |
16.06 | 22 | | | S8Stage 8 - Cesena › Forlimpopoli | 137 | | | |
15.06 | 29 | 35 | | S7Stage 7 - Montegrotto Terme › Zocca | 182 | | | |
14.06 | 31 | 41 | | S6Stage 6 - Borgo Virgilio › Fosse | 172 | | | |
13.06 | 21 | 71 | | S5Stage 5 - Bergamo › Cremona | 138 | | | |
12.06 | 16 | 72 | | S4Stage 4 - Pertusio › Borgomanero | 139 | | | |
11.06 | 47 | 78 | | S3Stage 3 - Verrès › Pian della Mussa | 134 | | | |
10.06 | 137 | 134 | | S2Stage 2 - Aymavilles › Saint-Vincent | 105 | | | |
09.06 | 31 | 31 | | S1 (ITT)Stage 1 (ITT) - Aosta › Aosta | 8.8 | | | |
15.05 › 19.0515-19/5 | | | | Orlen Nations Grand Prix (2.Ncup) Luxembourg | | | | more |
| 48 | | | General classificationGeneral classification | | | | |
19.05 | 34 | | | S5Stage 5 - Lesko, Powiat Leski › Hotel Arłamów | 149 | | | |
18.05 | 20 | 63 | | S4Stage 4 - Bukovina Resort › Jasło | 175 | | | |
17.05 | 1 | 64 | | S3Stage 3 - Tvrdošín › Štrbské Pleso | 121 | 5 | 12 | |
16.05 | 80 | 74 | | S2Stage 2 - Přerov › Kohútka | 110 | | | |
15.05 | 72 | 72 | | S1Stage 1 - Prostějov › Bouzov | 135 | | | |
08.05 › 12.058-12/5 | | | | Flèche du Sud (2.2) | | | | more |
| 17 | | | Youth classificationYouth classification | | | | |
| 23 | | | Points classificationPoints classification | | | | |
| 47 | | | General classificationGeneral classification | | | | |
12.05 | 24 | | | S5Stage 5 - Esch-sur-Alzette › Esch-sur-Alzette | 149.5 | | | |
11.05 | 6 | 48 | | S4 (ITT)Stage 4 (ITT) - Sanem › Sanem | 18.6 | | | |
10.05 | 53 | 50 | | S3Stage 3 - Bourscheid › Bourscheid | 127.2 | | | |
09.05 | 16 | 33 | | S2Stage 2 - Rumelange › Rumelange | 151.2 | | | |
08.05 | 48 | 48 | | S1Stage 1 - Canach › Canach | 85.5 | | | |
01.05 | 15 | | | Eschborn-Frankfurt U23 (1.2U) | 129 | | | more |
28.04 | 1 | | | Überherrner Straßenrennen auf dem Wallerfanger Saargau (NAT) | 113 | | | more |
21.04 | 11 | | | Gent-Wevelgem / Kattekoers-Ieper (1.2U) | 182.9 | | | more |
10.04 › 14.0410-14/4 | | | | Tour du Loir et Cher (2.2) | | | | more |
| 40 | | | Youth classificationYouth classification | | | | |
| 8 | | | Mountains classificationMountains classification | | | | |
| 81 | | | General classificationGeneral classification | | | | |
14.04 | 24 | | | S5Stage 5 - Blois › Blois | 90 | | | |
13.04 | 26 | 94 | | S4Stage 4 - Salbris › Salbris | 121 | | | |
12.04 | 64 | 96 | | S3Stage 3 - Fréteval › Vendôme | 199 | | | |
11.04 | 107 | 103 | | S2Stage 2 - Selles-sur-Cher › Fougères-sur-Bièvre | 183.9 | | | |
10.04 | 57 | 57 | | S1Stage 1 - Blois › Vineuil | 183 | | | |
07.04 | 30 | | | Paris-Roubaix Espoirs (1.2U) | 163.6 | | | more |
01.04 | 9 | | | Großer Osterpreis der Bade- und Rotweinstadt Ahrweile (NAT) | 84 | | | more |
30.03 | DNF | | | Volta NXT Classic (1.1) | 190.8 | | | more |
20.03 › 24.0320-24/3 | | | | Olympia's Tour (2.2) | | | | more |
| 12 | | | Youth classificationYouth classification | | | | |
| 30 | | | Points classificationPoints classification | | | | |
| 23 | | | General classificationGeneral classification | | | | |
24.03 | 16 | | | S5Stage 5 - Neede › Tiel | 188.3 | | | |
23.03 | 14 | 33 | | S4Stage 4 - Gieten › Ruurlo | 168.2 | | | |
22.03 | 54 | 54 | | S3Stage 3 - Assen › Roden | 140.8 | | | |
21.03 | 68 | 62 | | S2Stage 2 - Baflo › Baflo | 150.4 | | | |
20.03 | 59 | 59 | | S1Stage 1 - Medemblik › Medemblik | 144.9 | | | |
17.03 | 35 | | | Dorpenomloop Rucphen (1.2) | 181.4 | | | more |
15.03 | 32 | | | Youngster Coast Challenge (1.2U) | 172.2 | | | more |
10.03 | 31 | | | GP Vermarc (NAT) | 168 | | | more |
02.03 | DNF | | | Salverda Bouw Ster van Zwolle (1.2) | 183.2 | | | more |