| 13-10 | 11 | | UEC Gravel European Championships (CC) | 153.0km |
| 06-10 | 82 | | UCI Gravel World Championship (CM) | 182.0km |
| 27-09 | 44 | | UCI World Championship Zurich U23 (CM) | 173.0km |
| 23-09 | 25 | | UCI World Championship Zurich TT U23 (CM) | 29.0km |
| 13-09 | 60 | | UEC Road European Championships U23 (CC) | 162.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 57 | | Klassement |
| 13 | | Punten |
| 24-08 | 19 | 57 | Stage 6 Bobbio Pellice - Colle delle Finestre (120.0km) | 120.0km |
| 23-08 | 103 | 74 | Stage 5Les Karellis - Condove (120.0km) | 120.0km |
| 22-08 | 56 | 62 | Stage 4La Rosière-Montvalezan - Les Karellis (143.0km) | 143.0km |
| 21-08 | 76 | 68 | Stage 3Peisey-Vallandry - La Rosière-Montvalezan (71.0km) | 71.0km |
| 20-08 | 2 | 9 | Stage 2Mouchard - Plateau d'Hauteville (170.0km) | 170.0km |
| 19-08 | 106 | 23 | Stage 1Sarrebourg - Ronchamp (185.0km) | 185.0km |
| 18-08 | 22 | 22 | PrologueSarrebourg - Sarrebourg (7.0km) | 7.0km |
| | | Kreiz Breizh Elites (2.2) |
| 62 | | Klassement |
| 15 | | Punten |
| 5 | | Berg |
| 20 | | Jongeren |
| 29-07 | 65 | 62 | Stage 3Guingamp - Rostrenen (178.0km) | 178.0km |
| 28-07 | 52 | 53 | Stage 2Carhaix - Carhaix (164.0km) | 164.0km |
| 27-07 | 70 | 70 | Stage 1Calanhel - Priziac (197.0km) | 197.0km |
| 30-06 | 4 | | National Road Championships - Germany U23 (CN) | 148.0km |
| 23-06 | 33 | | National Road Championships - Germany (CN) | 200.0km |
| 21-06 | 5 | | National Road Championships - Germany TT U23 (CN) | 30.0km |
| | | ZLM Tour (2.1) |
| 65 | | Klassement |
| 16 | | Jongeren |
| 09-06 | 54 | 65 | Stage 5Oosterhout - Oosterhout (159.0km) | 159.0km |
| 08-06 | 81 | 74 | Stage 4Roosendaal - Roosendaal (196.0km) | 196.0km |
| 07-06 | 79 | 39 | Stage 3Schijndel - Buchten (179.0km) | 179.0km |
| 06-06 | 91 | 36 | Stage 2Middelburg - Wissenkerke (193.0km) | 193.0km |
| 05-06 | 38 | 38 | Stage 1Westkapelle - Westkapelle (14.0km) | 14.0km |
| | | Course de la Paix U23 (2.NCUP) |
| 51 | | Klassement |
| 14 | | Berg |
| 02-06 | 61 | 51 | Stage 4Šumperk - Jeseník (126.0km) | 126.0km |
| 01-06 | 49 | 48 | Stage 3Bruntal - Dlouhé (99.0km) | 99.0km |
| 31-05 | 58 | 65 | Stage 2Uničov - Rýmařov (117.0km) | 117.0km |
| 30-05 | 102 | 102 | Stage 1Krnov - Opava (123.0km) | 123.0km |
| 26-05 | 127 | | Rund um Köln (1.1) | 194.0km |
| | | Orlen Nations Grand Prix (2.NCUP) |
| 33 | | Klassement |
| 19-05 | 44 | 33 | Stage 5Lesko - Arlamów (143.0km) | 143.0km |
| 18-05 | 75 | 41 | Stage 4Bukovina Resort - Jaslo (175.0km) | 175.0km |
| 17-05 | 31 | 42 | Stage 3Tvrdosin - Štrbské Pleso (121.0km) | 121.0km |
| 16-05 | 45 | 50 | Stage 2Prerov - Kohútka (110.0km) | 110.0km |
| 15-05 | 89 | 89 | Stage 1Prostejov - Bouzov (135.0km) | 135.0km |
| | | Flèche du Sud (2.2) |
| 48 | | Klassement |
| 12-05 | 75 | 48 | Stage 5Esch-sur-Alzette - Esch-sur-Alzette (149.0km) | 149.0km |
| 11-05 | 16 | 49 | Stage 4Sanem - Sanem (18.0km) | 18.0km |
| 10-05 | 55 | 54 | Stage 3Bourscheid - Bourscheid (127.0km) | 127.0km |
| 09-05 | 36 | 46 | Stage 2Rumelange - Rumelange (151.0km) | 151.0km |
| 08-05 | 64 | 64 | Stage 1Canach - Canach (85.0km) | 85.0km |
| 01-05 | 41 | | Eschborn-Frankfurt U23 (1.2U) | 129.0km |
| 21-04 | 84 | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.2U) | 182.0km |
| | | Tour du Loir et Cher (2.2) |
| 88 | | Klassement |
| 14-04 | 114 | 88 | Stage 5Blois - Blois (97.0km) | 97.0km |
| 13-04 | 84 | 90 | Stage 4Salbris - Salbris (121.0km) | 121.0km |
| 12-04 | 97 | 92 | Stage 3Freteval - Vendôme (199.0km) | 199.0km |
| 11-04 | 106 | 96 | Stage 2Selles-sur-Cher - Fougères-sur-Bièvre (183.0km) | 183.0km |
| 10-04 | 60 | 60 | Stage 1Blois - Vineuil (183.0km) | 183.0km |
| | | Tour of Mersin (2.2) |
| 13 | | Klassement |
| 07-04 | 80 | 13 | Stage 4Mersin - Mersin (124.0km) | 124.0km |
| 06-04 | 14 | 13 | Stage 3Tarsus-Dörtler - Çamliyayla (137.0km) | 137.0km |
| 05-04 | 19 | 9 | Stage 2Gülnar - Mersin (153.0km) | 153.0km |
| 04-04 | 13 | 13 | Stage 1Anamur - Yanisli (103.0km) | 103.0km |
| 30-03 | DNF | | Volta Limburg Classic (1.1) | 190.0km |
| | | Volta ao Alentejo (2.2) |
| 39 | | Klassement |
| 24-03 | 63 | 39 | Stage 5Monforte - Évora (154.0km) | 154.0km |
| 23-03 | 42 | 39 | Stage 4Crato - Castelo de Vide (148.0km) | 148.0km |
| 22-03 | 86 | 49 | Stage 3Vendas Novas - Estremoz (191.0km) | 191.0km |
| 21-03 | 47 | 48 | Stage 2Castro Verde - Grandola (170.0km) | 170.0km |
| 20-03 | 48 | 48 | Stage 1Beja - Ourique (168.0km) | 168.0km |
| 17-03 | 52 | | Classica da Arrabida - Cyclin'Portugal (1.2) | |
| 02-03 | 12 | | Salverda Bouw Ster van Zwolle (1.2) | 183.0km |
| 27-02 | DNF | | Le Samyn (1.1) | 202.0km |
| 28-01 | 72 | | Trofeo Palma (1.1) | 150.0km |
| 27-01 | 118 | | Trofeo Pollença - Port d'Andratx (1.1) | |
| 26-01 | 65 | | Trofeo Serra Tramuntana (1.1) | |
| 25-01 | 64 | | Trofeo Ses Salines – Felanitx (1.1) | 181.0km |
| 24-01 | 124 | | Trofeo Calvià (1.1) | 150.0km |