29.08 | DNF | | | GP Plouay Junior Men (1.1) trainSharp Roman RT | 140.2 | | | more |
23.08 › 24.0823-24/8 | | | | Boucles de l'Oise Juniors (2.1) | | | | more |
| 59 | | | General classificationGeneral classification | | | | |
24.08 | 63 | | | S2bStage 2b - Nogent-sur-Oise › Nogent-sur-Oise | 115.6 | | | |
24.08 | 56 | 53 | | S2a (ITT)Stage 2a (ITT) - Bresles › Bresles | 15.4 | | | |
23.08 | 23 | 23 | | S1Stage 1 - Le Plessis-Belleville › Le Plessis-Belleville | 113.8 | 3 | | |
16.08 › 17.0816-17/8 | | | | La Ronde Des Vallées (2.1) | | | | more |
| 87 | | | General classificationGeneral classification | | | | |
17.08 | 69 | | | S2bStage 2b - Hémonstoir › Hémonstoir | 104.7 | | | |
17.08 | 129 | 114 | | S2a (ITT)Stage 2a (ITT) - Saint-Caradec › Hémonstoir | 11.8 | | | |
16.08 | 112 | 112 | | S1Stage 1 - La Prénessaye › La Prénessaye | 106.3 | | | |
30.07 | DNF | | | Trofee van Vlaanderen (1.1) trainSharp Roman RT | 139.7 | | | more |
20.07 | 6 | | | Bath Road Club Junior Road Race (NAT) | 118 | 15 | | more |
05.07 › 06.075-6/7 | | | | Classique des Bourbons (NAT) | | | | more |
| 27 | | | General classificationGeneral classification | | 2 | | |
06.07 | 17 | | | S3Stage 3 - Vitry-sur-Loire › Bourbon-l'Archambault | 91.7 | 2 | | |
06.07 | 59 | | | S2 (ITT)Stage 2 (ITT) - Vitry-sur-Loire › Vitry-sur-Loire | 8.6 | | | |
05.07 | 32 | | | S1Stage 1 - Bourbon-Lancy › Bourbon-Lancy | 100.1 | | | |
30.06 | DNF | | | Classic Région Sud U19 - Hautes-Alpes - Super Dévoluy (1.1) Tofauti Everyone Active Majoco | 115.4 | | | more |
29.06 | OTL | | | Classic Région Sud U19 - Montagne de Lure (1.1) Tofauti Everyone Active Majoco | 115.3 | | | more |
07.06 › 09.067-9/6 | | | | Tour de l'Eure (NAT) | | | | more |
| 15 | | | General classificationGeneral classification | | 24 | | |
09.06 | 20 | | | S4Stage 4 - Le Neubourg › Louviers | 102 | 4 | | |
09.06 | 5 | | | S3 (TTT)Stage 3 (TTT) - Ecquetot › Iville | 17.2 | 16 | | |
08.06 | 21 | | | S2Stage 2 - Les Andelys › Gisors | 95.7 | 3 | | |
07.06 | 54 | | | S1Stage 1 - Brionne › Conches en Ouche | 119 | | | |
23.05 › 25.0523-25/5 | | | | SPIE Internationale Junioren Driedaagse (2.1) trainSharp Roman RT | | | | more |
25.05 | DNF | | | S3Stage 3 - Strijpen › Strijpen | 105.2 | | | |
24.05 | 94 | 103 | | S2bStage 2b - Sluiskil › Sluiskil | 94.7 | | | |
24.05 | 115 | 101 | | S2a (ITT)Stage 2a (ITT) - Westdorpe › Westdorpe | 11.9 | | -50 | |
23.05 | 39 | 40 | | S1Stage 1 - Axel › Axel | 101.7 | | | |
18.05 | 1 | | | Cadence Junior Road Race (NAT) | | 50 | | more |
27.04 | 5 | | | Tiverton Road Race (NAT) | | 16 | | more |
19.04 › 20.0419-20/4 | | | | Penn Ar Bed - Bro An Hirwazh (2.1) | | | | more |
| 56 | | | General classificationGeneral classification | | | | |
20.04 | 35 | | | S2bStage 2b - Pointe-Saint-Mathieu › Plouzané | 119.1 | | | |
20.04 | 76 | 58 | | S2a (ITT)Stage 2a (ITT) - Plougonvelin › Plougonvelin | 7.5 | | | |
19.04 | 32 | 32 | | S1Stage 1 - Plouzané › Ploumoguer | 111 | | | |
29.03 › 30.0329-30/3 | | | | Tour du Bocage et de l'Ernée 53 (2.1) | | | | more |
| 56 | | | General classificationGeneral classification | | | | |
30.03 | 63 | | | S2bStage 2b - Ambrières-les-Vallées › Ambrières-les-Vallées | 105.6 | | | |
30.03 | 93 | 71 | | S2a (ITT)Stage 2a (ITT) - Ambrières-les-Vallées › Ambrières-les-Vallées | 13.9 | | | |
29.03 | 26 | 26 | | S1Stage 1 - Montenay › Montenay | 118.3 | 4 | | |
16.03 | 39 | | | Boucles de Seine-et-Marne - Souvenir Bernard Maillet (NAT) | 110 | | | more |
09.03 | 2 | | | Jock Wadley Memorial Road Race (NAT) | | | | more |
09.02 | 17 | | | Portsdown Classic (NAT) | 72 | | | more |