| 07-10 | 26 | | Coppa Citta' Di San Daniele (1.2) | 160.0km |
| 04-10 | 24 | | UEC Road European Championships U23 (CC) | 121.0km |
| 26-09 | DNF | | UCI World Championship Kigali U23 (CM) | 164.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 25-08 | DNS | | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 13 | 28 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 38 | 38 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Giro Ciclistico della Valle d'Aosta - Mont Blanc (2.2U) |
| 18-07 | DNF | | Stage 3Pré-Saint-Didier - Colle del Gran San Bernardo (121.0km) | 121.0km |
| 16-07 | 32 | 32 | Stage 1Aosta - Aosta (85.0km) | 85.0km |
| 28-06 | 1 | | National Road Championships - Portugal U23 (CN) | 145.0km |
| 27-06 | 5 | | National Road Championships - Portugal TT U23 (CN) | 22.0km |
| 02-06 | 39 | | TrofeoAlcide Degasperi (1.2) | |
| 01-06 | 31 | | Coppa Della Pace - Trofeo Fratelli Anelli (1.2U) | 173.0km |
| 03-05 | 49 | | Flèche Ardennaise (1.2) | 174.0km |
| 22-04 | DNF | | G.P. Palio del Recioto - Trofeo Zanotti Mobili (1.2U) | 147.0km |
| 21-04 | 40 | | Giro del Belvedere (1.2U) | 168.0km |
| | | Circuit des Ardennes (2.2) |
| 41 | | Klassement |
| 16 | | Jongeren |
| 13-04 | 21 | 41 | Stage 5Chooz - Charleville-Mézières (160.0km) | 160.0km |
| 12-04 | 41 | 43 | Stage 4Lac de Bairon - Lac des Vieilles Forges (178.0km) | 178.0km |
| 11-04 | 26 | 28 | Stage 3Boulzicourt - Saint-Marceau (172.0km) | 172.0km |
| 10-04 | 41 | 32 | Stage 2Rethel - Rethel (172.0km) | 172.0km |
| 09-04 | 24 | 28 | Stage 1Sedan - Nouvion-sur-Meuse (133.0km) | 133.0km |
| | | Istrian Spring Tour (2.2) |
| 58 | | Klassement |
| 16-03 | 53 | 58 | Stage 3Pazin - Umag (118.0km) | 118.0km |
| 15-03 | 60 | 60 | Stage 2Novigrad - Motovun (139.0km) | 139.0km |
| 14-03 | 54 | 24 | Stage 1Porec - Funtana (142.0km) | 142.0km |
| 13-03 | 24 | 24 | PrologueVrsar - Vrsar (1.0km) | 1.0km |
| 09-03 | 21 | | POREČ Classic (1.2) | 146.0km |
| 05-03 | 37 | | UMAG Classic (1.2) | 142.0km |