Born in Amsterdam, Duku started his career with Legmeervogels. He was on trial with the reserve team of Eredivisie side Heerenveen[2] at the age of 18 in 2011, before enjoying spells in the lower leagues with Legmeervogels, Abcoude, Breukelen and VV Eemdijk. He left for England to join Oxford City on a trial basis in 2015, despite not playing a minute of football for his new club, VV Eemdijk.[3]
On 26 July 2018, Duku agreed to deal to join League Two side Cheltenham Town on a two-year deal.[6] On the opening day of the 2018–19 campaign, he went on to make his Football League debut during Cheltenham's 1–0 home defeat to Crawley Town.[7] Duku joined Barnet on loan in October 2018 until the end of the calendar year.[8]
In February 2019 he joined FC Halifax Town on loan for a month.[9] On 12 June 2019 it was announced that Duku will join National League club Torquay United.[10] On 9 December 2019, it was announced his contract was cancelled by mutual consent so he could return to the Netherlands with his young family. Later in an interview with Dutch website "Voetbalzone", the player contradicted this, saying this was only a statement of the club, not himself.[11] Early the following year, Duku re-joined Hayes & Yeading on 1 January 2020.[12]
On 3 August 2020, Duku signed a one year contract with Scottish Championship club Raith Rovers.[13]
On 16 June 2021, Duku signed for fellow Scottish club Inverness Caledonian Thistle on a one-year deal.[14] He left the club by mutual agreement in January 2022.[15]
In July 2022, Duku joined newly promoted, York City in the National League.[18] He scored his first goal for the club on his debut in a friendly against Middlesbrough.[19] He was released after one season with the club.[20] Upon the expiry of his contract, Duku moved to Gibraltar to join Manchester 62.[21]