| 27-09 | DNF | | UCI World Championship Firenze U23 (CM) | 185.0km |
| 23-09 | 4 | | UCI World Championship Firenze TT U23 (CM) | 43.0km |
| 15-09 | 1 | | Chrono Champenois Masculin International (1.2) | 33.0km |
| | | Tour Alsace (2.2) |
| 27-07 | DNF | | Stage 5Selestat - Le Markstein (176.0km) | 176.0km |
| 26-07 | 104 | 117 | Stage 4Dannemarie - Colmar (164.0km) | 164.0km |
| 25-07 | 126 | 131 | Stage 3Strasbourg - Bischoffsheim (153.0km) | 153.0km |
| 24-07 | 128 | 136 | Stage 2Mulhouse - Huningue (157.0km) | 157.0km |
| 23-07 | 113 | 113 | Stage 1Le Bioscope Ungersheim - Sausheim (118.0km) | 118.0km |
| | | Internationale Thüringen-Rundfahrt U23 (2.2U) |
| 46 | | Klassement |
| 15-06 | 72 | 46 | Stage 7Ichtershausen - Ichtershausen (157.0km) | 157.0km |
| 14-06 | 53 | 48 | Stage 6Ichtershausen - Ichtershausen (171.0km) | 171.0km |
| 13-06 | 1 | 52 | Stage 5Streufdorf - Streufdorf (27.0km) | 27.0km |
| 12-06 | 95 | 52 | Stage 4Langewiesen - Langewiesen (163.0km) | 163.0km |
| 11-06 | 49 | 53 | Stage 3Neuhaus am Rennweg - Neuhaus am Rennweg (152.0km) | 152.0km |
| 10-06 | 110 | 106 | Stage 2Behringen - Behringen (177.0km) | 177.0km |
| 09-06 | 102 | 90 | Stage 1Erfurt - Erfurt (170.0km) | 170.0km |
| 08-06 | 30 | 30 | PrologueSülzenbrücken - Holzhausen (4.0km) | 4.0km |
| | | Royal Smilde Olympia's Tour (2.2) |
| 9 | | Klassement |
| 18-05 | 50 | 9 | Stage 6Reuver - Reuver (79.0km) | 79.0km |
| 18-05 | 1 | 9 | Stage 5Reuver - Reuver (13.0km) | 13.0km |
| 17-05 | 30 | 13 | Stage 4Bocholtz - Voerendaal (192.0km) | 192.0km |
| 16-05 | 35 | 5 | Stage 3Ulft - Gendringen (157.0km) | 157.0km |
| 15-05 | 24 | 5 | Stage 2Rhenen - Alkmaar (173.0km) | 173.0km |
| 14-05 | 15 | 3 | Stage 1Noordwijk - Hoofddorp (180.0km) | 180.0km |
| 13-05 | 7 | 7 | PrologueKatwijk - Katwijk (3.0km) | 3.0km |
| 28-04 | 35 | | GP Industrie del Marmo (1.2) | |
| 25-04 | 24 | | Gran Premio della Liberazione (1.2U) | |
| 13-04 | 51 | | ZLM tour (1.NCUP) | 177.0km |
| 10-04 | 9 | | La Côte Picarde (1.NCUP) | |
| 07-04 | 13 | | Trofeo Piva Banca Popolare di Vicenza (1.2U) | |
| 01-04 | 24 | | Giro del Belvedere di Villa di Cordignano (1.2U) | 154.0km |
| 17-03 | DNF | | Oceania Continental Championships (CC) | |
| 14-03 | 2 | | Oceania Continental Championships TT U23 (CC) | |
| | | New Zealand Cycle Classic (2.2) |
| 51 | | Klassement |
| 27-01 | 56 | 51 | Stage 5Palmerston - Palmerston (117.0km) | 117.0km |
| 26-01 | 60 | 53 | Stage 4Palmerston - Palmerston (131.0km) | 131.0km |
| 25-01 | 61 | 49 | Stage 3Palmerston - Palmerston (163.0km) | 163.0km |
| 24-01 | 51 | 14 | Stage 2Palmerston - Palmerston (143.0km) | 143.0km |
| 23-01 | 2 | 2 | Stage 1Palmerston - Palmerston (7.0km) | 7.0km |
| 09-01 | 3 | | National Road Championships - Australia TT U23 (U23) | 29.0km |