| 03-10 | DNF | | UEC Road European Championships U19 (CC) | 103.0km |
| 26-09 | DNF | | UCI World Championship Kigali U19 (CM) | 119.0km |
| | | Grand Prix Rüebliland (2.1) |
| 60 | | Standings |
| 4 | | Mountain |
| 07-09 | 73 | 60 | Stage 3Altishofen - Altishofen | 110.0km |
| 06-09 | 28 | 23 | Stage 2Kaisten - Kaisten | 88.0km |
| 05-09 | 28 | 28 | Stage 1Sulz - Sulz | 102.0km |
| | | Ain Bugey Valromey Tour (2.1) |
| 73 | | Standings |
| 14-07 | 51 | 73 | Stage 5Artemare - Yenne | 98.0km |
| 13-07 | 42 | 79 | Stage 4Ceyzérieu - Belley | 107.0km |
| 12-07 | 79 | 103 | Stage 3Hauteville - Col de la Biche | 99.0km |
| 11-07 | 79 | 117 | Stage 2Morestel - Serrières-de-Briord | 96.0km |
| 10-07 | 152 | 152 | Stage 1Torcieu - Morestel | 96.0km |
| 29-06 | DNF | | National Road Championships - Switzerland U19 (CN) | 104.0km |
| 26-06 | 7 | | National Road Championships - Switzerland TT U19 (CN) | |
| | | LVM Saarland Trofeo (2.NCUP) |
| 48 | | Standings |
| 22-06 | 21 | 48 | Stage 4Peppenkum - Peppenkum | 122.0km |
| 21-06 | 32 | 57 | Stage 3bBallweiler - Ballweiler | 106.0km |
| 21-06 | 50 | 63 | Stage 3aAltheim - Altheim | 12.0km |
| 20-06 | 34 | 64 | Stage 2Sarreguemines - Rohrbach-lès-Bitche | 119.0km |
| 19-06 | 73 | 73 | Stage 1Elversberg - Elversberg | 127.0km |
| | | G.P. F.W.R. BARON - Pieve del Grappa - Possagno (2.NCUP) |
| 08-06 | DNF | | Stage 2Fonte - San Liberale | 103.0km |
| 07-06 | 53 | 53 | Stage 1aLovadina - Lovadina | 2.0km |
| 07-06 | 82 | 49 | Stage 1bSan Zenone Degli Ezzelini - San Zenone Degli Ezzelini | 117.0km |
| | | Tour du Pays de Vaud (2.NCUP) |
| 34 | | Standings |
| 25-05 | 36 | 34 | Stage 4Ecublens - Ecublens | 115.0km |
| 24-05 | 36 | 35 | Stage 3Saint-Cergue - Saint-Cergue | 110.0km |
| 23-05 | 70 | 5 | Stage 2Eclépens - Eclépens | 112.0km |
| 22-05 | 21 | 5 | Stage 1Lausanne - Lausanne | 4.0km |
| 21-04 | 38 | | Gran Premio del Perdono (1.1) | 128.0km |
| 28-03 | DNF | | E3 Saxo Classic (1.NCUP) | 138.0km |
| 12-01 | 15 | | Swiss National Championships CX (CN) | |