| | | Tour d'Alsace (2.2) |
| 28-07 | DNF | | Stage 2Rust (Europapark) - Scherwiller (156.0km) | 156.0km |
| 27-07 | 68 | 68 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 10-07 | 23 | | UEC Road European Championships U23 (CC) | 147.0km |
| 26-06 | 16 | | National Road Championships - Switzerland (CN) | |
| 23-06 | 3 | | National Road Championships - Switzerland TT U23 (CN) | |
| | | Tour du Pays de Montbéliard (2.2) |
| 5 | | Klassement |
| 12 | | Punten |
| 19-06 | 12 | 5 | Stage 3Valentigney - Valentigney (155.0km) | 155.0km |
| 18-06 | 6 | 5 | Stage 2Pont-de-Roide - Pont-de-Roide (161.0km) | 161.0km |
| 17-06 | 11 | 11 | Stage 1Mandeure - Mathay (3.0km) | 3.0km |
| 10-06 | 35 | | Grosser Preis des Kantons Aargau (1.1) | 173.0km |
| | | Course de la Paix Grand Prix Jeseníky (2.NCUP) |
| 19 | | Klassement |
| 05-06 | 7 | 19 | Stage 4Jeseník - Jeseník (166.0km) | 166.0km |
| 04-06 | 21 | 21 | Stage 3Bruntal - Dlouhé (134.0km) | 134.0km |
| 03-06 | 40 | 6 | Stage 2Jeseník - Rýmařov (131.0km) | 131.0km |
| 02-06 | 18 | 18 | Stage 1Jeseník - Jeseník (3.0km) | 3.0km |
| | | Tour de la Mirabelle (2.2) |
| 19 | | Klassement |
| 18 | | Punten |
| 29-05 | 9 | 19 | Stage 3Baccarat - Damelevières (161.0km) | 161.0km |
| 28-05 | 33 | 20 | Stage 2Breuches - Saint-Amarin (157.0km) | 157.0km |
| 27-05 | 8 | 44 | Stage 1Pont-à-Mousson - Pagny-sur-Moselle (174.0km) | 174.0km |
| 26-05 | 54 | 54 | PrologueVandoeuvre-lès-Nancy - Vandoeuvre-lès-Nancy (2.0km) | 2.0km |
| 08-05 | 34 | | Flèche Ardennaise (1.2) | 168.0km |
| | | Giro di Sicilia - Tour of Sicily (2.1) |
| 81 | | Klassement |
| 15-04 | 87 | 81 | Stage 4Ragalna - Etna (140.0km) | 140.0km |
| 14-04 | 54 | 74 | Stage 3Realmonte - Piazza Armerina (171.0km) | 171.0km |
| 13-04 | 99 | 95 | Stage 2Palma di Montechiaro - Caltanissetta (152.0km) | 152.0km |
| 12-04 | 19 | 21 | Stage 1Milazzo - Bagheria (199.0km) | 199.0km |
| 27-03 | 84 | | Gent-Wevelgem / Kattekoers-Ieper U23 (1.NCUP) | 177.0km |
| 18-03 | 13 | | Youngster Coast Challenge (1.2U) | |
| | | Istarsko Proljece-Istrian Spring Trophy (2.2) |
| 4 | | Klassement |
| 7 | | Punten |
| 13-03 | 36 | 4 | Stage 3Pazin - Umag (136.0km) | 136.0km |
| 12-03 | 3 | 3 | Stage 2Novigrad - Motovun (175.0km) | 175.0km |
| 11-03 | 35 | 8 | Stage 1Porec - Funtana (152.0km) | 152.0km |
| 10-03 | 11 | 11 | PrologueVrsar - Vrsar (1.0km) | 1.0km |
| 19-02 | 6 | | Grand Prix Velo Alanya (1.2) | |
| 05-02 | 91 | | Grand Prix Alanya (1.2) | |
| 09-01 | 10 | | Swiss National Championships CX U23 (CN) | |