| 04-10 | DNS | | UEC Road European Championships U23 (CC) | 121.0km |
| 01-10 | 15 | | UEC Road European Championships TT U23 (CC) | 24.0km |
| 26-09 | DNF | | UCI World Championship Kigali U23 (CM) | 164.0km |
| 22-09 | 16 | | UCI World Championship Kigali TT U23 (CM) | 31.0km |
| | | Giro della Regione Friuli Venezia Giulia (2.2) |
| 07-09 | DNF | | Stage 4Cervignano del Friuli - San Daniele del Friuli (151.0km) | 151.0km |
| 06-09 | | 68 | Stage 3Ampezzo - Ravascletto (155.0km) | 155.0km |
| 05-09 | 40 | 69 | Stage 2Porpetto - Teor (167.0km) | 167.0km |
| 04-09 | | | Stage 1Palazzolo dello Stella - Buttrio (156.0km) | 156.0km |
| | | Tour de l'Avenir (2.NCUP) |
| 29-08 | 73 | 37 | Stage 6aLa Rosière Espace San Bernardo - La Rosière Espace San Bernardo (41.0km) | 41.0km |
| 29-08 | 57 | 36 | Stage 6bLa Rosière-Montvalezan - La Rosière-Montvalezan (10.0km) | 10.0km |
| 28-08 | 36 | 35 | Stage 5Saint-Gervais Mont-Blanc - Tignes (121.0km) | 121.0km |
| 27-08 | 38 | 39 | Stage 4Montagnat - Val Suran (110.0km) | 110.0km |
| 26-08 | 40 | 40 | Stage 3Étang-sur-Arroux - Châtillon-sur-Chalaronne (158.0km) | 158.0km |
| 25-08 | 35 | 42 | Stage 2Saint-Symphorien-sur-Coise - Vitry-en-Charollais (136.0km) | 136.0km |
| 24-08 | 81 | 32 | Stage 1Aoste - Saint-Galmier (188.0km) | 188.0km |
| 23-08 | 28 | 28 | PrologueTignes - Tignes (3.0km) | 3.0km |
| | | Tour Alsace (2.2) |
| 32 | | Klassement |
| 26 | | Punten |
| 9 | | Berg |
| 21 | | Jongeren |
| 03-08 | 27 | 32 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 71 | 45 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 52 | 49 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 82 | 51 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 5 | 50 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| | | Giro Ciclistico della Valle d'Aosta - Mont Blanc (2.2U) |
| 18-07 | DNF | | Stage 3Pré-Saint-Didier - Colle del Gran San Bernardo (121.0km) | 121.0km |
| 16-07 | 65 | 65 | Stage 1Aosta - Aosta (85.0km) | 85.0km |
| 06-07 | 3 | | National Road Championships - Germany U23 (CN) | |
| 29-06 | 19 | | National Road Championships - Germany (CN) | 217.0km |
| 27-06 | 3 | | National Road Championships - Germany TT U23 (CN) | 22.0km |
| 13-06 | DNF | | Grosser Preis des Kantons Aargau (1.1) | 173.0km |
| 02-06 | 70 | | TrofeoAlcide Degasperi (1.2) | |
| 01-06 | 2 | | Coppa Della Pace - Trofeo Fratelli Anelli (1.2U) | 173.0km |
| 11-05 | DNF | | Gent-Wevelgem / Kattekoers-Ieper (1.2U) | 189.0km |
| 04-05 | DNF | | Lotto Famenne Ardenne Classic (1.1) | 186.0km |
| 03-05 | DNF | | Flèche Ardennaise (1.2) | 174.0km |
| 01-05 | 18 | | Eschborn-Frankfurt U23 (1.2U) | 129.0km |
| 19-04 | 84 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| 13-04 | 36 | | Paris-Roubaix Espoirs (1.2U) | 167.0km |
| 05-04 | 70 | | Boucle de l'Artois (1.2) | 191.0km |
| | | Istrian Spring Tour (2.2) |
| 44 | | Klassement |
| 16-03 | 60 | 44 | Stage 3Pazin - Umag (118.0km) | 118.0km |
| 15-03 | 46 | 45 | Stage 2Novigrad - Motovun (139.0km) | 139.0km |
| 14-03 | 55 | 29 | Stage 1Porec - Funtana (142.0km) | 142.0km |
| 13-03 | 34 | 34 | PrologueVrsar - Vrsar (1.0km) | 1.0km |
| 09-03 | 129 | | POREČ Classic (1.2) | 146.0km |
| 05-03 | 102 | | UMAG Classic (1.2) | 142.0km |
| 30-01 | 67 | | Trofeo Felanitx-Ses Salines (1.1) | 184.0km |