| 04-10 | DNF | | UEC Road European Championships U23 (CC) | 121.0km |
| 01-10 | 16 | | UEC Road European Championships TT U23 (CC) | 24.0km |
| | | Turul Romaniei (2.2) |
| 35 | | Klassement |
| 1 | | Punten |
| 1 | | Berg |
| 16 | | Jongeren |
| 14-09 | 6 | 35 | Stage 5Bucuresti - Bucuresti (95.0km) | 95.0km |
| 13-09 | 12 | 40 | Stage 4Buzau - Slobozia (212.0km) | 212.0km |
| 12-09 | 1 | 48 | Stage 3Brasov - Buzau (180.0km) | 180.0km |
| 11-09 | 62 | 57 | Stage 2Pitești - Pasul Dichiu (171.0km) | 171.0km |
| 10-09 | 2 | 2 | Stage 1Craiova - Râmnicu Vâlcea (175.0km) | 175.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 101 | 65 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 56 | 65 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 60 | 57 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 6 | 69 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 3 | 73 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 22 | 75 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 7 | 71 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 145 | 145 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Tour Alsace (2.2) |
| 03-08 | DNF | | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 5 | 123 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 145 | 145 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 21 | 68 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 6 | 74 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 29-06 | 5 | | National Road Championships - Ireland (CN) | |
| 26-06 | 2 | | National Road Championships - Ireland TT U23 (CN) | |
| | | Giro d'Italia Next Gen (2.2U) |
| 122 | | Klassement |
| 6 | | Punten |
| 31 | | Berg |
| 19 | | Jongeren |
| 22-06 | 128 | 122 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 71 | 120 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 144 | 128 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 138 | 124 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 1 | 124 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 123 | 135 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 141 | 130 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 36 | 36 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Tour of Malopolska (2.2) |
| 69 | | Klassement |
| 35 | | Jongeren |
| 08-06 | 104 | 69 | Stage 3Maków Pochalański - Stary Sacz (170.0km) | 170.0km |
| 07-06 | 107 | 74 | Stage 2Wadowice - Nowy Targ (135.0km) | 135.0km |
| 06-06 | 77 | 75 | Stage 1Wieliczka - Myslenice (134.0km) | 134.0km |
| 05-06 | 45 | 45 | PrologueKraków - Kraków (1.0km) | 1.0km |
| 11-05 | DNF | | Gent-Wevelgem / Kattekoers-Ieper (1.2U) | 189.0km |
| 08-05 | DNF | | Boucles de l'Aulne - Châteaulin (1.1) | 183.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 30-04 | DNS | | Stage 6Missillac - Le Pertre (178.0km) | 178.0km |
| 29-04 | 114 | 95 | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 63 | 46 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 12 | 43 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 53 | 64 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 96 | 96 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| | | Circuit des Ardennes (2.2) |
| 85 | | Klassement |
| 4 | | Punten |
| 21 | | Berg |
| 34 | | Jongeren |
| 13-04 | 1 | 85 | Stage 5Chooz - Charleville-Mézières (160.0km) | 160.0km |
| 12-04 | 98 | 103 | Stage 4Lac de Bairon - Lac des Vieilles Forges (178.0km) | 178.0km |
| 11-04 | 126 | 105 | Stage 3Boulzicourt - Saint-Marceau (172.0km) | 172.0km |
| 10-04 | 5 | 12 | Stage 2Rethel - Rethel (172.0km) | 172.0km |
| 09-04 | 11 | 15 | Stage 1Sedan - Nouvion-sur-Meuse (133.0km) | 133.0km |
| 30-03 | 115 | | I feel Slovenia VN Adria Mobil (1.2) | 170.0km |
| 27-03 | 91 | | GP Brda-Collio (1.2) | 150.0km |
| 23-03 | DNF | | GP Slovenian Istria (1.2) | 156.0km |
| 21-03 | 57 | | Youngster Coast Challenge (1.2U) | 170.0km |
| 16-03 | 71 | | Popolarissima (1.2) | 174.0km |