| 07-10 | DNF | | Binche - Chimay - Binche / Mémorial Frank Vandenbroucke (1.1) | 203.0km |
| 04-10 | 44 | | 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) |
| 28-08 | DNF | | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 50 | 72 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 100 | 77 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 122 | 80 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 76 | 77 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 69 | 69 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Tour Alsace (2.2) |
| 29 | | Klassement |
| 18 | | Jongeren |
| 03-08 | 30 | 29 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 83 | 35 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 35 | 36 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 131 | 115 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 27 | 117 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 06-07 | 1 | | National Road Championships - Germany U23 (CN) | |
| 29-06 | 28 | | National Road Championships - Germany (CN) | 217.0km |
| 27-06 | | | National Road Championships - Germany TT U23 (CN) | 22.0km |
| | | Giro d'Italia Next Gen (2.2U) |
| 88 | | Klassement |
| 22-06 | 97 | 88 | Stage 8Pinerolo - Pinerolo (127.0km) | 127.0km |
| 21-06 | 64 | 82 | Stage 7Bra - Prato Nevoso (163.0km) | 163.0km |
| 20-06 | 101 | 87 | Stage 6Ovada - Acqui Terme (154.0km) | 154.0km |
| 19-06 | 41 | 79 | Stage 5Fiorenzuola d'Arda - Gavi (153.0km) | 153.0km |
| 18-06 | 124 | 128 | Stage 4Manerbio - Salsomaggiore Terme (134.0km) | 134.0km |
| 17-06 | 91 | 114 | Stage 3Albese con Cassano - Passo del Maniva (144.0km) | 144.0km |
| 16-06 | 136 | 142 | Stage 2Rho - Cantù (146.0km) | 146.0km |
| 15-06 | 150 | 150 | Stage 1Rho - Rho (8.0km) | 8.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 30 | | Klassement |
| 01-06 | 60 | 30 | Stage 4Jeseník - Šumperk (118.0km) | 118.0km |
| 31-05 | 22 | 32 | Stage 3Zábřeh - Dlouhé (131.0km) | 131.0km |
| 30-05 | 55 | 54 | Stage 2Uničov - Rýmařov (149.0km) | 149.0km |
| 29-05 | 59 | 59 | Stage 1Krnov - Šternberk (168.0km) | 168.0km |
| 03-05 | DNF | | Flèche Ardennaise (1.2) | 174.0km |
| 01-05 | 12 | | Eschborn-Frankfurt U23 (1.2U) | 129.0km |
| 22-04 | 25 | | G.P. Palio del Recioto - Trofeo Zanotti Mobili (1.2U) | 147.0km |
| 21-04 | 25 | | Giro del Belvedere (1.2U) | 168.0km |
| | | Circuit des Ardennes (2.2) |
| 78 | | Klassement |
| 13-04 | 69 | 78 | Stage 5Chooz - Charleville-Mézières (160.0km) | 160.0km |
| 12-04 | 47 | 94 | Stage 4Lac de Bairon - Lac des Vieilles Forges (178.0km) | 178.0km |
| 11-04 | 105 | 120 | Stage 3Boulzicourt - Saint-Marceau (172.0km) | 172.0km |
| 10-04 | 126 | 130 | Stage 2Rethel - Rethel (172.0km) | 172.0km |
| 09-04 | 129 | 129 | Stage 1Sedan - Nouvion-sur-Meuse (133.0km) | 133.0km |
| 05-04 | DNF | | Volta NXT Classic (1.1) | 192.0km |
| | | Tour of Rhodes (2.2) |
| 14-03 | DNS | | Stage 1Rhodes - Soroni (148.0km) | 148.0km |
| 13-03 | 102 | 102 | PrologueRhodes - Rhodes (5.0km) | 5.0km |
| 08-03 | 51 | | Rhodes GP (1.2) | 179.0km |
| | | Visit South Aegean Islands (2.2) |
| 61 | | Klassement |
| 34 | | Jongeren |
| 02-03 | 41 | 61 | Stage 2Rhodes - Salakos (160.0km) | 160.0km |
| 01-03 | 72 | 72 | Stage 1Rhodes - Koskinou (180.0km) | 180.0km |