W 2015 zajął 3. miejsce na 5. etapie Karpackiego Wyścigu Kurierów, a także został wicemistrzem Polski młodzieżowców w jeździe indywidualnej na czas. Na mistrzostwach Europy uplasował się na 66. pozycji w wyścigu ze startu wspólnego młodzieżowców. W 2016 został mistrzem Polski młodzieżowców w jeździe indywidualnej na czas. W 2017 zajął 2. miejsce na 2. etapie Małopolskiego Wyścigu Górskiego, a także był trzeci na prologu wyścigu Dookoła Mazowsza. W 2018 z drużyną CCC Sprandi Polkowice (jazda drużynowa na czas) był drugi na etapie 1b Settimana Internazionale di Coppi e Bartali i na etapie 1. Czech Cycling Tour. Zajął też 2. lokatę w węgierskim wyścigu w ramach Visegrad 4 Bicycle Race i wygrał klasyfikację górską Tour de Hongrie.

W 2019 stawał na podium etapów Małopolskiego Wyścigu Górskiego (2. na 2. etapie), Wyścigu Solidarności i Olimpijczyków (2. na 1. etapie oraz 3. na etapach 2. i 3.) i Tour of Almaty (1. na 1. etapie). Ponadto zajął 3. miejsce w Grand Prix Alanya, wygrał Koronę Kocich Gór i zajął 2. lokatę w klasyfikacji generalnej Wyścigu Solidarności i Olimpijczyków. Wystartował też w mistrzostwach Europy, zajmując 40. pozycję w wyścigu ze startu wspólnego elity. W 2020 zwyciężył w klasyfikacji generalnej wyścigu Dookoła Bułgarii, stając na podium trzech pierwszych etapów (1. na 2. etapie oraz 2. na etapach 1. i 3.).