| 07-10 | 64 | | Binche - Chimay - Binche / Mémorial Frank Vandenbroucke (1.1) | 203.0km |
| 04-10 | DNF | | UEC Road European Championships U23 (CC) | 121.0km |
| 27-09 | 36 | | Grand Prix Cerami (1.2) | 176.0km |
| | | Škoda Tour de Luxembourg (2.Pro) |
| 64 | | Klassement |
| 30 | | Jongeren |
| 21-09 | 25 | 64 | Stage 5Mersch - Luxembourg (176.0km) | 176.0km |
| 20-09 | 93 | 87 | Stage 4Niederanven - Niederanven (26.0km) | 26.0km |
| 19-09 | 95 | 87 | Stage 3Mertert - Vianden (170.0km) | 170.0km |
| 18-09 | 57 | 52 | Stage 2Remich - Mamer (168.0km) | 168.0km |
| 17-09 | 52 | 53 | Stage 1Luxembourg - Luxembourg (152.0km) | 152.0km |
| 14-09 | 50 | | GP Rik Van Looy (1.2) | 185.0km |
| 11-09 | 7 | | Izegem Koers (National) | 176.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 66 | 47 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 72 | 51 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 56 | 45 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 46 | 11 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 59 | 11 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 3 | 11 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 35 | 69 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 120 | 120 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Tour Alsace (2.2) |
| 63 | | Klassement |
| 17 | | Punten |
| 44 | | Jongeren |
| 03-08 | 53 | 63 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 77 | 96 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 107 | 102 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 125 | 75 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 27 | 92 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 29-06 | 3 | | National Road Championships - Luxembourg (CN) | 140.0km |
| 26-06 | 3 | | National Road Championships - Luxembourg TT U23 (CN) | |
| | | Giro d'Italia Next Gen (2.2U) |
| 66 | | Klassement |
| 37 | | Punten |
| 22-06 | 63 | 66 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 37 | 69 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 43 | 95 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 70 | 108 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 21 | 113 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 111 | 119 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 139 | 135 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 109 | 109 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 23 | | Klassement |
| 01-06 | 50 | 23 | Stage 4Jeseník - Šumperk (118.0km) | 118.0km |
| 31-05 | 30 | 24 | Stage 3Zábřeh - Dlouhé (131.0km) | 131.0km |
| 30-05 | 47 | 19 | Stage 2Uničov - Rýmařov (149.0km) | 149.0km |
| 29-05 | 19 | 19 | Stage 1Krnov - Šternberk (168.0km) | 168.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 65 | | Klassement |
| 17-05 | 94 | 65 | Stage 4Lesko - Arlamów (146.0km) | 146.0km |
| 16-05 | 35 | 64 | Stage 3Ustrzyki Dolne - Arlamów (138.0km) | 138.0km |
| 15-05 | 78 | 77 | Stage 2Jaroslaw - Arlamów (143.0km) | 143.0km |
| 14-05 | 76 | 75 | Stage 1Lancut - Jaslo (155.0km) | 155.0km |
| 11-05 | 61 | | Gent-Wevelgem / Kattekoers-Ieper (1.2U) | 189.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 2 | | Klassement |
| 16 | | Punten |
| 01-05 | 16 | 2 | Stage 7Landébia - Plancoët (159.0km) | 159.0km |
| 30-04 | 16 | 2 | Stage 6Missillac - Le Pertre (178.0km) | 178.0km |
| 29-04 | 18 | 3 | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 3 | 3 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 36 | 24 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 13 | 21 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 42 | 43 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| | | Tour du Loir et Cher (2.2) |
| 15 | | Klassement |
| 29 | | Punten |
| 5 | | Jongeren |
| 20-04 | | 15 | Stage 5Blois - Blois (97.0km) | 97.0km |
| 19-04 | 15 | 15 | Stage 4Pruniers-en-Sologne - Pruniers-en-Sologne (210.0km) | 210.0km |
| 18-04 | 37 | 16 | Stage 3 Beauce-la-Romaine - Naveil (205.0km) | 205.0km |
| 17-04 | 51 | 17 | Stage 2Monlivault - Mont-Près-Chambord (139.0km) | 139.0km |
| 16-04 | 17 | 17 | Stage 1Blois - Valencisse (153.0km) | 153.0km |
| 13-04 | DNF | | Paris-Roubaix Espoirs (1.2U) | 167.0km |
| 05-04 | 25 | | Volta NXT Classic (1.1) | 192.0km |
| | | Olympia's Tour (2.2) |
| 21 | | Klassement |
| 14 | | Punten |
| 9 | | Jongeren |
| 30-03 | 35 | 21 | Stage 5Neede - Tiel (185.0km) | 185.0km |
| 29-03 | 34 | 3 | Stage 4Zwolle - Zwolle (195.0km) | 195.0km |
| 28-03 | 44 | 3 | Stage 3Kerkdriel - Rossum (148.0km) | 148.0km |
| 27-03 | 3 | 3 | Stage 2Beek - Beek (175.0km) | 175.0km |
| 26-03 | 33 | 33 | Stage 1Beltrum - Beltrum (10.0km) | 10.0km |
| 21-03 | 28 | | Youngster Coast Challenge (1.2U) | 170.0km |
| 09-03 | 34 | | Dorpenomloop Rucphen (1.2) | 180.0km |
| 04-03 | DNF | | Ename Samyn Classic (1.1) | 199.0km |