| 27-09 | DNF | | UCI World Championship Zurich U23 (CM) | 173.0km |
| 23-09 | 45 | | UCI World Championship Zurich TT U23 (CM) | 29.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 92 | | Standings |
| 24-08 | 105 | 92 | Stage 6 Bobbio Pellice - Colle delle Finestre | 120.0km |
| 23-08 | 106 | 90 | Stage 5Les Karellis - Condove | 120.0km |
| 22-08 | 77 | 86 | Stage 4La Rosière-Montvalezan - Les Karellis | 143.0km |
| 21-08 | 89 | 93 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan | 71.0km |
| 20-08 | 92 | 92 | Stage 2Mouchard - Plateau d'Hauteville | 170.0km |
| 19-08 | 30 | 74 | Stage 1Sarrebourg - Ronchamp | 185.0km |
| 18-08 | 79 | 79 | PrologueSarrebourg - Sarrebourg | 7.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 19 | | Standings |
| 41 | | Points |
| 15 | | Mountain |
| 16-06 | 5 | 19 | Stage 8Cesena - Forlimpopoli | 146.0km |
| 15-06 | 49 | 21 | Stage 7Montegrotto Terme - Zocca | 170.0km |
| 14-06 | 27 | 20 | Stage 6Borgo Virgilio - Fosse | 145.0km |
| 13-06 | 44 | 15 | Stage 5Bergamo - Cremona | 136.0km |
| 12-06 | 39 | 15 | Stage 4Pertusio - Borgomanero | 130.0km |
| 11-06 | 15 | 15 | Stage 3Verrès - Pian della Mussa | 127.0km |
| 10-06 | 20 | 42 | Stage 2Aymavilles - Saint-Vincent | 121.0km |
| 09-06 | 83 | 83 | Stage 1Aosta - Aosta | 11.0km |
| | | Course de la Paix U23 (2.NCUP) |
| 8 | | Standings |
| 4 | | Points |
| 02-06 | 13 | 8 | Stage 4Šumperk - Jeseník | 126.0km |
| 01-06 | 10 | 8 | Stage 3Bruntal - Dlouhé | 99.0km |
| 31-05 | 3 | 6 | Stage 2Uničov - Rýmařov | 117.0km |
| 30-05 | 87 | 87 | Stage 1Krnov - Opava | 123.0km |
| 01-04 | 19 | | Giro del Belvedere (1.2U) | |
| | | Settimana Internazionale Coppi e Bartali (2.1) |
| 23-03 | DNF | | Stage 5Forlì - Forlì | 157.0km |
| 22-03 | 103 | 115 | Stage 4Brisighella - Brisighella | 150.0km |
| 21-03 | 94 | 119 | Stage 3Riccione - Riccione | 134.0km |
| 20-03 | 125 | 131 | Stage 2Riccione - Sogliano al Rubicone | 140.0km |
| 19-03 | 137 | 137 | Stage 1Pesaro - Pesaro | 109.0km |
| 28-01 | 21 | | National Road Championships - Colombia (CN) | 211.0km |