| 20-10 | 4 | | Chrono des Nations U23 (1.2U) | |
| 24-09 | 41 | | UCI World Championship Yorkshire TT U23 (CM) | 30.0km |
| 20-08 | DNF | | GP Stad Zottegem (1.1) | 200.0km |
| 10-08 | 20 | | UEC Road European Championships U23 (CC) | 138.0km |
| 08-08 | 14 | | UEC Road European Championships TT U23 (CC) | |
| | | Tour Alsace (2.2) |
| 03-08 | DNF | | Stage 4Ribeauville - Lac Blanc (161.0km) | 161.0km |
| 02-08 | 122 | 121 | Stage 3Vesoul - La Planche des Belles Filles (143.0km) | 143.0km |
| 01-08 | 143 | 95 | Stage 2Selestat - Selestat (153.0km) | 153.0km |
| 31-07 | | 94 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 27-06 | 1 | | National Road Championships - Ireland TT U23 (CN) | |
| 25-06 | 6 | | European Games Minsk TT (CC) | |
| 23-06 | 53 | | European Games Minsk (CC) | |
| | | Course de la Paix Grand Prix Priessnitz spa (2.NCUP) |
| 50 | | Klassement |
| 09-06 | 41 | 50 | Stage 3Jeseník - Jeseník (171.0km) | 171.0km |
| 08-06 | 55 | 52 | Stage 2Krnov - Dlouhé (150.0km) | 150.0km |
| 07-06 | 37 | 36 | Stage 1Jeseník - Rýmařov (134.0km) | 134.0km |
| 06-06 | 38 | 38 | PrologueKrnov - Krnov (2.0km) | 2.0km |
| 05-05 | 109 | | Entre Brenne et Montmorillonnais (1.2) | |
| 04-05 | 13 | | L'Etoile d'Or (1.NCUP) | |
| 13-04 | DNF | | Ronde van Vlaanderen Beloften (1.NCUP) | |
| | | Le Triptyque des Monts et Châteaux (2.2) |
| 14 | | Klassement |
| 9 | | Berg |
| 07-04 | 61 | 14 | Stage 3Ath - Tournai (167.0km) | 167.0km |
| 06-04 | 11 | 13 | Stage 2aCelles - Celles (11.0km) | 11.0km |
| 06-04 | 50 | 14 | Stage 2bWodecq - Celles (112.0km) | 112.0km |
| 05-04 | 19 | 19 | Stage 1Frasnes - Chièvres (147.0km) | 147.0km |
| 31-03 | 31 | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.NCUP) | 173.0km |
| | | Volta ao Alentejo (2.2) |
| 88 | | Klassement |
| 24-03 | 93 | 88 | Stage 6Portalegre - Évora (152.0km) | 152.0km |
| 23-03 | 103 | 86 | Stage 4Ponte de Sor - Portalegre (74.0km) | 74.0km |
| 23-03 | 70 | 88 | Stage 5Castelo de Vide - Castelo de Vide (8.0km) | 8.0km |
| 22-03 | 58 | 80 | Stage 3Santiago do Cacém - Mora (176.0km) | 176.0km |
| 21-03 | 59 | 91 | Stage 2Mértola - Odemira (182.0km) | 182.0km |
| 20-03 | 112 | 112 | Stage 1Montemor-o-Novo - Moura (208.0km) | 208.0km |
| 17-03 | 15 | | Classica da Arrabida - Cyclin'Portugal (1.2) | |
| | | Tour of Antalya (2.2) |
| 64 | | Klassement |
| 24-02 | 42 | 64 | Stage 4Side - Antalya (157.0km) | 157.0km |
| 23-02 | 64 | 65 | Stage 3Perge - Termessos (91.0km) | 91.0km |
| 22-02 | 109 | 72 | Stage 2Antalya - Antalya (109.0km) | 109.0km |
| 21-02 | 100 | 100 | Stage 1Köprülü Kanyon - Antalya (141.0km) | 141.0km |