| 26-09 | 34 | | UCI World Championship Kigali U19 (CM) | 119.0km |
| | | Vuelta Junior a la Ribera del Duero (2.1) |
| 22-08 | 30 | 30 | Stage 1Sotillo de la Ribera - Baños de Valdearados (85.0km) | 85.0km |
| | | Aubel-Thimister-Stavelot (2.1) |
| 08-08 | 6 | 6 | Stage 1Aubel - Aubel (98.0km) | 98.0km |
| | | Watersley Junior Challenge (2.1) |
| 3 | | Klassement |
| 8 | | Berg |
| 27-07 | 13 | 3 | Stage 3Watersley - Watersley (116.0km) | 116.0km |
| 26-07 | 9 | 3 | Stage 2Watersley - Watersley (125.0km) | 125.0km |
| 25-07 | 6 | 6 | Stage 1Munstergeleen - Watersley (6.0km) | 6.0km |
| 29-06 | 1 | | National Road Championships - Canada U19 (CN) | 114.0km |
| 27-06 | 3 | | National Road Championships - Canada TT U19 (CN) | |
| | | Gipuzkoa Klasikoa (2.1) |
| 3 | | Klassement |
| 5 | | Berg |
| 01-06 | 2 | 3 | Stage 2Egia - Egia (104.0km) | 104.0km |
| 31-05 | 10 | 10 | Stage 1Lazkao - Lazkao (98.0km) | 98.0km |
| | | SPIE Internationale Junioren Driedaagse (2.1) |
| 4 | | Klassement |
| 11 | | Punten |
| 25-05 | 32 | 4 | Stage 3Strijpen - Strijpen (105.0km) | 105.0km |
| 24-05 | 1 | 2 | Stage 2bSluiskil - Sluiskil (94.0km) | 94.0km |
| 24-05 | 18 | 17 | Stage 2aWestdorpe - Westdorpe (11.0km) | 11.0km |
| 23-05 | 31 | 33 | Stage 1Axel - Axel (101.0km) | 101.0km |
| | | Course de la Paix Juniors (2.NCUP) |
| 18 | | Klassement |
| 20 | | Punten |
| 11-05 | 5 | 18 | Stage 4Terezín - Terezín (102.0km) | 102.0km |
| 10-05 | 24 | 24 | Stage 3Teplice - Olbernhau (112.0km) | 112.0km |
| 09-05 | 25 | 24 | Stage 2aTrebivlice - Trebivlice (8.0km) | 8.0km |
| 09-05 | 28 | 25 | Stage 2bRoudnice - Terezín (58.0km) | 58.0km |
| 08-05 | 27 | 31 | Stage 1Litomerice - Úštěk (109.0km) | 109.0km |
| | | Grand Prix West Bohemia (2.1) |
| 24 | | Klassement |
| 04-05 | 23 | 24 | Stage 2Kysice - Kysice (107.0km) | 107.0km |
| 03-05 | 28 | 28 | Stage 1Kysice - Kysice (120.0km) | 120.0km |
| 15-03 | 55 | | Danilith Nokere Koerse MJ (1.1) | 134.0km |