W szachy gra od 5. roku życia. W niedługim czasie zaczął odnosić znaczące sukcesy na arenie krajowej oraz międzynarodowej. W 2005 roku zdobył w KołobrzeguPuchar Polski juniorów do 8 lat. Na liście rankingowejFIDE zadebiutował 1 października 2006 roku[4]. W tym samym roku zdobył w Kołobrzegu brązowy medal mistrzostw Polski juniorów do 10 lat, w latach 2007 i 2008 (w obu przypadkach w Ustroniu) sięgając w tej kategorii po tytuły mistrzowskie. W 2009 roku zdobył tytuł mistrza kraju, zwyciężając w Łebie w kategorii do 12 lat, natomiast w 2012 roku w Solinie kolejny – w kategorii do 18 lat.
Łącznie zdobył kilkadziesiąt medali w rozgrywkach z cyklu mistrzostw Polski (zarówno w szachach klasycznych, jak i szybkich oraz błyskawicznych) w różnych kategoriach wiekowych.
1 lipca 2017 roku został pierwszym polskim juniorem, który przekroczył barierę 2700 punktów. Najwyższy ranking w swojej dotychczasowej karierze osiągnął w grudniu 2021 roku, a z wynikiem 2760 punktów zajmował 1. miejsce wśród polskich szachistów, 13. miejsce na światowej liście Międzynarodowej Federacji Szachowej i 2. miejsce na tej liście pośród juniorów[4][3].
30 grudnia 2018 roku Duda został wicemistrzem świata w szachach błyskawicznych w turnieju World Blitz Chess Championship, rozegranym w Sankt Petersburgu, przegrywając o pół punktu z Magnusem Carlsenem[20][21].
Jest najwyżej kiedykolwiek sklasyfikowanym Polakiem w światowym rankingu FIDE we wszystkich kategoriach[22]:
Jako jedyny z polskich szachistów przekroczył barierę 2800 punktów ELO (styczeń 2019: w kategorii blitz osiągnął 2818 ELO, lipiec 2022: w kategorii rapid 2808 ELO).
W popularnym międzynarodowym turnieju rozgrywanym poprzez internet – Speed Chess Championship – osiągnął półfinał w 2018 roku, przegrywając z arcymistrzem Wesleyem So[23]. W 2019 roku doszedł do ćwierćfinału, gdzie przegrał nieznacznie z jednym z najlepszych w historii graczy w tej dyscyplinie, arcymistrzem Hikaru Nakamurą[24], w 2020 dotarł do ćwierćfinału, gdzie przegrał z arcymistrzem Wesleyem So[25]. 20 maja 2020 roku podczas turnieju Lindores Abbey Rapid Challenge pokonał Magnusa Carlsena w szachach szybkich[26]. 10 października 2020 roku podczas turnieju Altibox Norway Chess w Stavanger wygrał z mistrzem świata Magnusem Carlsenem, przerywając jego serię 125 partii klasycznych bez porażki[27].
W rozgrywkach przez internet gra pod pseudonimem „Polish_fighter3000”[28].
W 2016 roku prezydent PolskiAndrzej Duda odznaczył go Srebrnym Krzyżem Zasługi za „wybitne osiągnięcia sportowe w 2016 roku oraz popularyzację dyscypliny”[29]. W 2021 został odznaczony Złotym Krzyżem Zasługi[30][31].
1 maja 2021 roku wygrał turniej w szachach błyskawicznych rozgrywany w Chinach[32].
17 grudnia 2021 został mistrzem Europy w szachach błyskawicznych[34]. 28 grudnia 2021 roku zajął 5. miejsce w rozgrywanych w Warszawie mistrzostwach świata w szachach szybkich, natomiast dwa dni później ponownie został wicemistrzem świata w szachach błyskawicznych[35].
28 kwietnia 2022 zajął pierwsze miejsce w turnieju Oslo Esports Cup[36].
23 maja 2022 wygrał turniej szachów szybkich i błyskawicznych Superbet Rapid & Blitz Poland 2022[37][38].
4 lipca 2022 ukończył Turniej Pretendentów w Madrycie na siódmym miejscu[39].
13 sierpnia 2023 przegrał rewanżową partię z Amerykaninem Fabiano Caruaną 1/8 finału Pucharu Świata w szachach i odpadł z turnieju rozgrywanego w Baku. Partia zakończyła się wygraną Caruany po 42 posunięciach[40].