| 26-09 | 47 | | UCI World Championship Zurich U19 (CM) | 127.0km |
| | | Grand Prix Rüebliland (2.1) |
| 21 | | Klassement |
| 08-09 | 23 | 21 | Stage 3Vordemwald - Vordemwald (105.0km) | 105.0km |
| 07-09 | 94 | 69 | Stage 2aSeon - Seon (61.0km) | 61.0km |
| 07-09 | 42 | 37 | Stage 2bSeon - Seon (49.0km) | 49.0km |
| 06-09 | 61 | 62 | Stage 1Schneisingen - Schneisingen (85.0km) | 85.0km |
| | | Junioren Rundfahrt (2.1) |
| 69 | | Klassement |
| 21-07 | 58 | 69 | Stage 3Bad Wimsbach - Strass im Attergau (109.0km) | 109.0km |
| 20-07 | 76 | 75 | Stage 2Sarleinsbach - Sarleinsbach (116.0km) | 116.0km |
| 19-07 | 70 | 70 | Stage 1Marchtrenk - Marchtrenk (104.0km) | 104.0km |
| 22-06 | DNS | | National Road Championships - Switzerland U19 (CN) | 123.0km |
| 20-06 | DNF | | National Road Championships - Switzerland TT U19 (CN) | 15.0km |
| | | LVM Saarland Trofeo (2.NCUP) |
| 27 | | Klassement |
| 02-06 | 66 | 27 | Stage 4Walsheim - Walsheim (128.0km) | 128.0km |
| 01-06 | 31 | 29 | Stage 3aBallweiler - Ballweiler (9.0km) | 9.0km |
| 01-06 | | 27 | Stage 3bWolfersheim - Oberwürzbach (94.0km) | 94.0km |
| 31-05 | 55 | 43 | Stage 2Volmunster - Sarreguemines (103.0km) | 103.0km |
| 30-05 | 43 | 43 | Stage 1Friedrichsthal - Neunkirchen (109.0km) | 109.0km |
| | | Tour du Pays de Vaud (2.NCUP) |
| 13 | | Klassement |
| 26-05 | 30 | 13 | Stage 4Pomy - Pomy (99.0km) | 99.0km |
| 25-05 | 11 | 13 | Stage 3Ollon - Villars-sur-Ollon (87.0km) | 87.0km |
| 24-05 | 22 | 46 | Stage 2Apples - Apples (121.0km) | 121.0km |
| 23-05 | 65 | 65 | Stage 1Gollion - Gollion (7.0km) | 7.0km |
| | | Eroica Juniores - Nations' Cup (2.NCUP) |
| 56 | | Klassement |
| 21-04 | 58 | 56 | Stage 4Siena - Chiusdino (102.0km) | 102.0km |
| 19-04 | 57 | 67 | Stage 2Cinigiano - Siena (110.0km) | 110.0km |
| 18-04 | 77 | 92 | Stage 1bCastiglione della Pescaia - Castiglione della Pescaia (68.0km) | 68.0km |
| 18-04 | | 122 | Stage 1aPunta Ala - Castiglione della Pescaia (22.0km) | 22.0km |
| 01-04 | DNF | | Gran Premio del Perdono (1.1) | |