| 15-10 | 9 | | Chrono des Nations U19 (1.1) | 27.0km |
| | | Grand Prix Rüebliland (2.1) |
| 42 | | Standings |
| 9 | | Mountain |
| 10-09 | 26 | 42 | Stage 3Altishofen - Altishofen | 107.0km |
| 09-09 | 87 | 79 | Stage 2aMöhlin - Möhlin | 66.0km |
| 09-09 | 79 | 79 | Stage 2bMöhlin - Möhlin | 42.0km |
| 08-09 | 44 | 48 | Stage 1Vordemwald - Vordemwald | 86.0km |
| 11-08 | 5 | | UCI World Championship Glasgow TT U19 (CM) | 22.0km |
| | | Junioren Rundfahrt (2.1) |
| 21-07 | 26 | 26 | Stage 1aHaid bei Ansfelden - Haid bei Ansfelden | 2.0km |
| | | Ain Bugey Valromey Tour (2.1) |
| 4 | | Standings |
| 3 | | Points |
| 17 | | Mountain |
| 16-07 | 5 | 4 | Stage 5Yenne - sommet du Gd Colombier | 87.0km |
| 15-07 | 7 | 7 | Stage 4Artemare - Les Plans d'Hotonnes | 124.0km |
| 14-07 | 4 | 10 | Stage 3Montalieu Vercieu - Les Avenières | 94.0km |
| 13-07 | 15 | 15 | Stage 2Champdor - Belley | 101.0km |
| 12-07 | 5 | 5 | Stage 1Lagnieu - Lhuis | 38.0km |
| 03-06 | 8 | | La Classique des Alpes Juniors (1.1) | |
| | | Tour de Gironde International (2.1) |
| 2 | | Standings |
| 5 | | Points |
| 14-05 | 17 | 2 | Stage 3Podensac - Villenave-d'Ornon | 104.0km |
| 13-05 | 3 | 2 | Stage 2Guîtres - Cenon | 97.0km |
| 13-05 | 7 | 7 | Stage 1Saint-Denis-de-Pile - Guîtres | 10.0km |
| 07-05 | 10 | | Grand Prix Bob Jungels (1.1) | |
| 06-05 | 22 | | Liège-Bastogne-Liège U19 (1.1) | |
| 29-04 | 73 | | E3 Saxo Classic U19 (1.1) | 120.0km |
| | | Gipuzkoa Klasikoa (2.1) |
| 21 | | Standings |
| 8 | | Mountain |
| 23-04 | 25 | 21 | Stage 2Egia - Egia | 103.0km |
| 22-04 | 10 | 10 | Stage 1Ormaiztegi - Ormaiztegi | 98.0km |
| | | Guido Reybrouck Classic (2.1) |
| 11 | | Standings |
| 19-03 | 68 | 11 | Stage 2Damme - Damme | 121.0km |
| 18-03 | 12 | 12 | Stage 1Damme - Damme | 10.0km |
| 11-03 | 26 | | Danilith Nokere Koerse U19 (1.1) | 129.0km |
| 26-02 | 27 | | Kuurne-Brussel-Kuurne U19 (1.1) | 116.0km |
| 15-01 | 3 | | British National Championships CX U19 (CN) | |
| 07-01 | 1 | | Clanfield Cross U19 (C2) | |