| 27-09 | 36 | | UCI World Championship Yorkshire U23 (CM) | 193.0km |
| 19-09 | DNF | | Coppa Sabatini (1.1) | |
| 18-09 | DNF | | Giro della Toscana (1.1) | 206.0km |
| 08-09 | 23 | | Gylne Gutuer (1.2) | |
| 06-09 | 31 | | Hafjell TT (1.2) | |
| | | Tour de l'Avenir (2.NCUP) |
| 62 | | Klassement |
| 25-08 | 48 | 62 | Stage 10Saint-Colomban-des-Villards - Le Corbier (78.0km) | 78.0km |
| 24-08 | 43 | 67 | Stage 9Villaroger - Tignes (67.0km) | 67.0km |
| 23-08 | 76 | 72 | Stage 8Brides-les-Bains - Méribel (23.0km) | 23.0km |
| 22-08 | 50 | 66 | Stage 7Grésy-sur-Isere - La Giettaz (103.0km) | 103.0km |
| 20-08 | 53 | 75 | Stage 6Saint-Julien-Chapteuil - Privas (124.0km) | 124.0km |
| 19-08 | 45 | 93 | Stage 5Espalion - Saint-Julien-Chapteuil (158.0km) | 158.0km |
| 18-08 | 87 | 131 | Stage 4Mauriac - Espalion (158.0km) | 158.0km |
| 17-08 | 130 | 134 | Stage 3Montignac-Lascaux - Mauriac (162.0km) | 162.0km |
| 16-08 | | 124 | Stage 2Eymet - Bergerac (32.0km) | 32.0km |
| 15-08 | 121 | 120 | Stage 1Marmande - Marmande (128.0km) | 128.0km |
| 10-08 | 30 | | UEC Road European Championships U23 (CC) | 138.0km |
| | | Tour Alsace (2.2) |
| 84 | | Klassement |
| 04-08 | 63 | 84 | Stage 5Ottmarsheim - Dannemarie (158.0km) | 158.0km |
| 03-08 | 74 | 89 | Stage 4Ribeauville - Lac Blanc (161.0km) | 161.0km |
| 02-08 | 114 | 114 | Stage 3Vesoul - La Planche des Belles Filles (143.0km) | 143.0km |
| 01-08 | 31 | 156 | Stage 2Selestat - Selestat (153.0km) | 153.0km |
| 31-07 | | 159 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 30-06 | DNF | | National Road Championships - Switzerland (CN) | |
| 26-06 | 8 | | National Road Championships - Switzerland TT U23 (CN) | |
| | | Baby Giro (2.2U) |
| 156 | | Klassement |
| 23-06 | | 156 | Stage 9Agordo - Passo Fedaia (35.0km) | 35.0km |
| 17-06 | DNF | | Stage 4Buonconvento - Vetta Amiata (163.0km) | 163.0km |
| 16-06 | | 172 | Stage 3Sesto Fiorentino - Gaiole in Chianti (145.0km) | 145.0km |
| 15-06 | 168 | 167 | Stage 2Bagno di Romagna - Pescia (174.0km) | 174.0km |
| 14-06 | 128 | 121 | Stage 1Riccione - Santa Sofia (143.0km) | 143.0km |
| 13-06 | 19 | 19 | PrologueRiccione - Riccione (3.0km) | 3.0km |
| 02-06 | 2 | | Paris-Roubaix Espoirs (1.2U) | |
| | | A Travers les Hauts de France (2.2) |
| 26 | | Klassement |
| 5 | | Berg |
| 26-05 | 34 | 26 | Stage 3Petite-Forêt - Pecquencourt (188.0km) | 188.0km |
| 25-05 | 34 | 29 | Stage 2Seclin - Bonningues-lès-Calais (197.0km) | 197.0km |
| 24-05 | 42 | 47 | Stage 1Gavrelle - Épinoy (125.0km) | 125.0km |
| 12-05 | 17 | | Ringerike GP (1.2) | |
| 11-05 | 8 | | Sundvolden GP (1.2) | |
| 05-05 | 21 | | Entre Brenne et Montmorillonnais (1.2) | |
| 04-05 | 39 | | L'Etoile d'Or (1.NCUP) | |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 43 | | Klassement |
| 59 | | Punten |
| 01-05 | 45 | 43 | Stage 7Plounévez-Lochrist - Saint-Pol-de-Léon (150.0km) | 150.0km |
| 30-04 | 26 | 40 | Stage 6Le Ferré - Plurien (171.0km) | 171.0km |
| 29-04 | 45 | 47 | Stage 5Rougé - Le Ferré (191.0km) | 191.0km |
| 28-04 | 51 | 48 | Stage 4Ploërmel - Chateaubriant (152.0km) | 152.0km |
| 27-04 | 67 | 58 | Stage 3Port-Louis - Guégon (172.0km) | 172.0km |
| 26-04 | 44 | 60 | Stage 2Bannalec - Quimperlé (169.0km) | 169.0km |
| 25-04 | 60 | 61 | Stage 1Lorient - Inzinzac-Lochrist (150.0km) | 150.0km |
| | | Tour du Loir et Cher E Provost (2.2) |
| 20-04 | DNS | | Stage 4Angé - Angé (191.0km) | 191.0km |
| 19-04 | 11 | 11 | Stage 3Mer - Vendôme (210.0km) | 210.0km |
| 18-04 | 26 | 25 | Stage 2Les Montils - Chailles (188.0km) | 188.0km |
| 17-04 | 41 | 43 | Stage 1Blois - Vineuil (176.0km) | 176.0km |
| 13-04 | 7 | | Ronde van Vlaanderen Beloften (1.NCUP) | |
| | | Le Triptyque des Monts et Châteaux (2.2) |
| 24 | | Klassement |
| 07-04 | 42 | 24 | Stage 3Ath - Tournai (167.0km) | 167.0km |
| 06-04 | 26 | 29 | Stage 2aCelles - Celles (11.0km) | 11.0km |
| 06-04 | 76 | 29 | Stage 2bWodecq - Celles (112.0km) | 112.0km |
| 05-04 | 112 | 112 | Stage 1Frasnes - Chièvres (147.0km) | 147.0km |
| | | Tour de Normandie (2.2) |
| 93 | | Klassement |
| 18 | | Punten |
| 42 | | Berg |
| 31-03 | 3 | 93 | Stage 7Saint-Lô - Caen (150.0km) | 150.0km |
| 30-03 | 17 | 102 | Stage 6Gouville-sur-Mer - Martinvast (159.0km) | 159.0km |
| 29-03 | 22 | 122 | Stage 5Alencon - Bagnoles de l'Orne (172.0km) | 172.0km |
| 28-03 | 129 | 122 | Stage 4Tilly-sur-Seulles - Argentan (173.0km) | 173.0km |
| 27-03 | 92 | 91 | Stage 3Bourg-Achard - Elbeuf (147.0km) | 147.0km |
| 26-03 | 52 | 69 | Stage 2Darnétal - Forges-les-Eaux (169.0km) | 169.0km |
| 25-03 | 96 | 95 | Stage 1Courseulles-sur-Mer - Le Neubourg (159.0km) | 159.0km |
| 22-03 | 60 | | Youngster Coast Challenge (1.2U) | |
| 17-03 | 36 | | Paris-Troyes (1.2) | |