| 13-10 | 12 | | Chrono des Nations U23 (1.2U) | 27.0km |
| 06-10 | 74 | | Paris - Tours Elite (1.Pro) | 213.0km |
| 03-10 | 68 | | Sparkassen Münsterland Giro (1.Pro) | 205.0km |
| 27-09 | 33 | | UCI World Championship Zurich U23 (CM) | 173.0km |
| 23-09 | 19 | | UCI World Championship Zurich TT U23 (CM) | 29.0km |
| 13-09 | 5 | | UEC Road European Championships U23 (CC) | 162.0km |
| 11-09 | 5 | | UEC Road European Championships TT U23 (CC) | 31.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 40 | | Klassement |
| 33 | | Punten |
| 24-08 | 20 | 40 | Stage 6 Bobbio Pellice - Colle delle Finestre (120.0km) | 120.0km |
| 23-08 | 63 | 44 | Stage 5Les Karellis - Condove (120.0km) | 120.0km |
| 22-08 | 52 | 35 | Stage 4La Rosière-Montvalezan - Les Karellis (143.0km) | 143.0km |
| 21-08 | 30 | 27 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan (71.0km) | 71.0km |
| 20-08 | 10 | 6 | Stage 2Mouchard - Plateau d'Hauteville (170.0km) | 170.0km |
| 19-08 | 19 | 7 | Stage 1Sarrebourg - Ronchamp (185.0km) | 185.0km |
| 18-08 | 4 | 4 | PrologueSarrebourg - Sarrebourg (7.0km) | 7.0km |
| 11-08 | 38 | | Gran Premio Sportivi di Poggiana-48° Trofeo Bonin Costruzioni (1.2U) | 165.0km |
| 30-06 | 4 | | National Road Championships - Switzerland U23 (CN) | |
| 23-06 | 18 | | National Road Championships - Switzerland (CN) | 184.0km |
| 20-06 | 1 | | National Road Championships - Switzerland TT U23 (CN) | 15.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 27 | | Klassement |
| 24 | | Punten |
| 12 | | Berg |
| 16-06 | 34 | 27 | Stage 8Cesena - Forlimpopoli (146.0km) | 146.0km |
| 15-06 | 36 | 29 | Stage 7Montegrotto Terme - Zocca (170.0km) | 170.0km |
| 14-06 | 35 | 33 | Stage 6Borgo Virgilio - Fosse (145.0km) | 145.0km |
| 13-06 | 78 | 45 | Stage 5Bergamo - Cremona (136.0km) | 136.0km |
| 12-06 | 47 | 45 | Stage 4Pertusio - Borgomanero (130.0km) | 130.0km |
| 11-06 | 41 | 46 | Stage 3Verrès - Pian della Mussa (127.0km) | 127.0km |
| 10-06 | 91 | 88 | Stage 2Aymavilles - Saint-Vincent (121.0km) | 121.0km |
| 09-06 | 3 | 3 | Stage 1Aosta - Aosta (11.0km) | 11.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 6 | | Klassement |
| 11 | | Berg |
| 19-05 | 8 | 6 | Stage 5Lesko - Arlamów (143.0km) | 143.0km |
| 18-05 | 36 | 5 | Stage 4Bukovina Resort - Jaslo (175.0km) | 175.0km |
| 17-05 | 3 | 5 | Stage 3Tvrdosin - Štrbské Pleso (121.0km) | 121.0km |
| 16-05 | 6 | 5 | Stage 2Prerov - Kohútka (110.0km) | 110.0km |
| 15-05 | 12 | 12 | Stage 1Prostejov - Bouzov (135.0km) | 135.0km |
| 13-04 | 53 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| 10-04 | DNF | | De Brabantse Pijl (1.Pro) | 195.0km |
| | | Région Pays de la Loire Tour (2.1) |
| 39 | | Klassement |
| 05-04 | 32 | 39 | Stage 4Marolles-les-Braults - Le Mans (174.0km) | 174.0km |
| 04-04 | 62 | 59 | Stage 3Segré-en-Anjou Bleu - Château-Gontier (159.0km) | 159.0km |
| 03-04 | 63 | 61 | Stage 2Chateaubriant - Saumur (162.0km) | 162.0km |
| 02-04 | 67 | 67 | Stage 1Fontenay-le-Comte - Saint-Jean-de-Monts (210.0km) | 210.0km |
| | | Olympia's Tour (2.2) |
| 20 | | Klassement |
| 24-03 | 23 | 20 | Stage 5Neede - Tiel (161.0km) | 161.0km |
| 23-03 | 23 | 22 | Stage 4Gieten - Ruurlo (168.0km) | 168.0km |
| 22-03 | 16 | 24 | Stage 3Assen - Roden (140.0km) | 140.0km |
| 21-03 | 34 | 31 | Stage 2Baflo - Baflo (144.0km) | 144.0km |
| 20-03 | 30 | 30 | Stage 1Medemblik - Medemblik (145.0km) | 145.0km |
| 13-03 | 94 | | Milano - Torino (1.Pro) | 177.0km |
| 03-03 | 117 | | Trofej Porec - Porec Trophy (1.2) | |
| 28-02 | 29 | | Trofej Umag - Umag Trophy (1.2) | |