| 23-09 | DNF | | UCI World Championship Bergen U19 (WC) | 133.0km |
| | | Tour de DMZ 2017 (2.NCUP) |
| 29 | | Klassement |
| 06-09 | 27 | 29 | Stage 4Inje - Goseong (78.0km) | 78.0km |
| 05-09 | 31 | 29 | Stage 3Hwacheon - Inje (114.0km) | 114.0km |
| 04-09 | 36 | 35 | Stage 2Yeoncheon - Hwacheon (113.0km) | 113.0km |
| 03-09 | 20 | 20 | Stage 1Goyang - Yeoncheon (86.0km) | 86.0km |
| 04-08 | 76 | | UEC Road European Championships U19 (CC) | 120.0km |
| | | Oberösterreich Juniorenrundfahrt
(2.1) |
| 50 | | Klassement |
| 16-07 | 46 | 50 | Stage 3Bad Wimsbach - Neydharting (94.0km) | 94.0km |
| 15-07 | 54 | 54 | Stage 2Bad Leonfelden - Bad Leonfelden (117.0km) | 117.0km |
| 14-07 | 85 | 85 | Stage 1Haid - Marchtrenk (96.0km) | 96.0km |
| | | GP Général Patton
(2.NCUP) |
| 42 | | Klassement |
| 09-07 | 48 | 42 | Stage 2Munshausen - Munshausen (93.0km) | 93.0km |
| 08-07 | 49 | 49 | Stage 1Ettelbrück - Troisvierges (102.0km) | 102.0km |
| 17-06 | 2 | | National Road Championships - Finland (CN) | |
| 16-06 | 1 | | National Road Championships - Finland TT (CN) | |
| | | 36e SPIE Internationale Juniorendriedaagse (2.1) |
| 69 | | Klassement |
| 21-05 | 60 | 69 | Stage 3Velzeke - Velzeke (96.0km) | 96.0km |
| 20-05 | 118 | 160 | Stage 2aAxel - Axel (11.0km) | 11.0km |
| 20-05 | 80 | 127 | Stage 2bSluiskil - Sluiskil (102.0km) | 102.0km |
| 19-05 | 160 | 160 | Stage 1Axel - Axel (101.0km) | 101.0km |
| | | La Coupe du President de la Ville de Grudziadz (2.1) |
| 51 | | Klassement |
| 03-05 | 40 | 51 | Stage 4Grudziadz - Grudziadz (109.0km) | 109.0km |
| 02-05 | 54 | 55 | Stage 3Lisewo - Pluznica (90.0km) | 90.0km |
| 01-05 | 67 | 55 | Stage 2Swiecie - Swiecie (87.0km) | 87.0km |
| 30-04 | 45 | 51 | Stage 1bJablonowo Pomorskie - Jablonowo Pomorskie (58.0km) | 58.0km |
| 30-04 | 74 | 74 | Stage 1aGruta - Lasin (58.0km) | 58.0km |
| 09-04 | 50 | | Paris - Roubaix Juniors (1.NCUP) | 343.0km |