08.10 › 15.108-15/10 | | | | Presidential Cycling Tour of Türkiye (2.1) Q36.5 Pro Cycling Team | | | | more |
| 70 | | | General classificationGeneral classification | | | | |
15.10 | 21 | | | S8Stage 8 - Istanbul › Istanbul (Sultanahmet) | 130.5 | | | |
14.10 | 71 | 71 | | S7Stage 7 - Selçuk › Izmir | 159.8 | | | |
13.10 | 86 | 72 | | S6Stage 6 - Bodrum › Selçuk (Meryem Ana Zirve) | 193.3 | | | |
12.10 | 118 | 66 | | S5Stage 5 - Marmaris › Bodrum | 180.6 | | | |
11.10 | 68 | 58 | | S4Stage 4 - Fethiye › Marmaris | 165.3 | | | |
10.10 | 59 | 58 | | S3Stage 3 - Fethiye › Babadağ | 104.1 | | | |
09.10 | 74 | 74 | | S2Stage 2 - Kemer › Kalkan | 166.5 | | | |
08.10 | 56 | 59 | | S1Stage 1 - Alanya › Antalya | 135 | | | |
26.09 › 01.1026-1/9 | | | | CRO Race (2.1) Q36.5 Pro Cycling Team | | | | more |
| 12 | | | Youth classificationYouth classification | | | | |
| 21 | | | Mountains classificationMountains classification | | | | |
| 28 | | | Points classificationPoints classification | | | | |
| 55 | | | General classificationGeneral classification | | | | |
01.10 | 90 | | | S6Stage 6 - Samobor › Zagreb | 157.5 | | | |
30.09 | 19 | 53 | | S5Stage 5 - Crikvenica › Ozalj | 189 | | | |
29.09 | 54 | 56 | | S4Stage 4 - Krk › Labin | 191 | | | |
28.09 | 56 | 49 | | S3Stage 3 - Otočac › Opatija | 133.5 | | | |
27.09 | 40 | 25 | | S2Stage 2 - Biograd na Moru › Novalja | 114.5 | | | |
26.09 | 13 | 13 | | S1Stage 1 - Primošten › Sinj | 181 | | | |
12.09 | 33 | | | Coppa Ciuffenna (NAT) | 149 | | | more |
20.08 › 27.0820-27/8 | | | | Tour de l'Avenir (2.Ncup) | | | | more |
| 40 | | | Points classificationPoints classification | | | | |
| 65 | | | General classificationGeneral classification | | | | |
27.08 | 80 | | | S8Stage 8 - Val-Cenis › Sainte-Foy-Tarentaise | 99.6 | | | |
26.08 | 64 | 53 | | S7bStage 7b - Les Karellis › Val-Cenis Col du Mont Cenis | 70 | | | |
26.08 | 75 | 54 | | S7a (ITT)Stage 7a (ITT) - Montricher-Albanne › Les Karellis | 11.1 | | | |
25.08 | 46 | 52 | | S6Stage 6 - Méribel › Col de la Loze | 65 | | | |
24.08 | 36 | 66 | | S5Stage 5 - La Tour-de-Salvagny › Lac d'Aiguebelette | 141 | | | |
23.08 | 12 | 85 | | S4Stage 4 - Aigurande › Evaux-les-Bains | 133 | | | |
22.08 | 22 | 130 | | S3 (TTT)Stage 3 (TTT) - Issoudun › Vatan | 26.5 | | | |
21.08 | 137 | 129 | | S2Stage 2 - Nozay › Chinon | 189 | | | |
20.08 | 16 | 16 | | S1Stage 1 - Carnac › La Gacilly | 140 | | | |
12.08 | DNF | | | World Championships MU - Road Race (WC) | 168.4 | | | more |
28.07 › 31.0728-31/7 | | | | Kreiz Breizh Elites (2.2) | | | | more |
| 18 | | | Youth classificationYouth classification | | | | |
| 38 | | | General classificationGeneral classification | | | | |
31.07 | 25 | | | S4Stage 4 - Plouisy › Rostrenen | 189.5 | | | |
30.07 | 39 | 63 | | S3Stage 3 - Locmalo › Carhaix | 183.6 | | | |
29.07 | 45 | 110 | | S2Stage 2 - Calanhel › Priziac | 209.3 | | | |
28.07 | 118 | 118 | | S1 (ITT)Stage 1 (ITT) - Bégard › Bégard | 11.8 | | | |
04.06 | 11 | | | Coppa della Pace - Trofeo F.lli Anelli (1.2U) | 172 | | | more |
02.06 | 68 | | | Giro dell'Appennino (1.1) | 198.5 | | | more |
21.05 | DNF | | | Antwerp Port Epic / Sels Trophy (1.1) Q36.5 Pro Cycling Team | 182.1 | | | more |
14.05 | 23 | | | Gran Premio Industrie del Marmo (1.2U) | 174.7 | | | more |
13.05 | 10 | | | Coppa Medicea (NAT) | 154 | | | more |
06.05 | 7 | | | Coppa Città di Castiglion Fiorentino (NAT) | 157 | | | more |
29.04 › 03.0529-3/4 | | | | Carpathian Couriers Race in memory of Wacław Felczak (2.2U) | | | | more |
| 14 | | | Mountains classificationMountains classification | | | | |
| 13 | | | Points classificationPoints classification | | | | |
| 23 | | | General classificationGeneral classification | | | | |
03.05 | 15 | | | S5Stage 5 - Iwonicz Zdrój › Rymanów Zdrój | 83.5 | | | |
02.05 | 13 | 37 | | S4Stage 4 - Niedzica › Podegrodzie | 142.1 | | | |
01.05 | 44 | 42 | | S3Stage 3 - Stará Ľubovňa › Stará Ľubovňa | 138.4 | | | |
30.04 | 6 | 47 | | S2Stage 2 - Bánovce nad Bebravou › Bánovce nad Bebravou | 146.6 | | | |
29.04 | 16 | 69 | | S1 (TTT)Stage 1 (TTT) - Budapest › Budapest | 4 | | | |
25.04 | 11 | | | Gran Premio della Liberazione (1.2U) | 138 | | | more |
22.04 | 62 | | | Coppa Zappi (NAT) | | | | more |
11.04 › 14.0411-14/4 | | | | Giro di Sicilia (2.1) Q36.5 Pro Cycling Team | | | | more |
| 51 | | | Youth classificationYouth classification | | | | |
| 94 | | | General classificationGeneral classification | | | | |
14.04 | 93 | | | S4Stage 4 - Barcellona Pozzo di Gotto › Giarre | 216 | | | |
13.04 | 119 | 90 | | S3Stage 3 - Enna › Termini Imerese | 150 | | | |
12.04 | 18 | 66 | | S2Stage 2 - Canicattì › Vittoria | 193 | | | |
11.04 | 74 | 74 | | S1Stage 1 - Marsala › Agrigento | 159 | | | |
26.03 | 59 | | | GP Adria Mobil (1.2) | 180.1 | | | more |
17.03 | 4 | | | Grand Prix de la Ville d'Alger (1.2) | 82.5 | 4 | 20 | more |
07.03 › 16.037-16/3 | | | | Tour d'Algérie International de Cyclisme (2.2) | | | | more |
| 7 | | | Youth classificationYouth classification | | | | |
| 6 | | | Points classificationPoints classification | | | | |
| 16 | | | General classificationGeneral classification | | | | |
16.03 | 2 | | | S9Stage 9 - Béjaïa › Tizi Ouzou | 119 | 2 | 3 | |
15.03 | 27 | 20 | | S8Stage 8 - Jijel › Béjaïa | 88.5 | | | |
14.03 | 2 | 21 | | S7Stage 7 - Skikda › Jijel | 145.5 | 2 | 3 | |
13.03 | 8 | 27 | | S6Stage 6 - Constantine › Skikda | 82.5 | | | |
12.03 | 22 | 28 | | S5Stage 5 - Setif › Constantine | 124.9 | | | |
11.03 | 27 | 27 | | S4Stage 4 - Batna › Setif | 143.9 | | | |
10.03 | 13 | 19 | | S3Stage 3 - Biskra › Batna | 119 | | | |
09.03 | 23 | 19 | | S2Stage 2 - Bou Saâda › Biskra | 176 | | | |
08.03 | 8 | 23 | | S1Stage 1 - Bordj Bou Arreridj › M'Sila | 121 | | | |
07.03 | 25 | 25 | | ProloguePrologue - Bordj Bou Arreridj › Bordj Bou Arreridj | 4 | | | |
25.02 | 10 | | | Firenze - Empoli Memorial Renzo Maltinti (NAT) | 149 | | | more |
12.02 | 1 | | | National Championships South Africa ME - Road Race (NC) | 170 | 15 | 100 | more |
10.02 | 2 | | | National Championships South Africa MU - ITT (NC) | 28 | | 15 | more |