Twardek was born in Toronto, Ontario and raised in Ottawa. His father is Czech and his mother is Canadian.
Club career
Early career
Twardek began playing with West Carleton SC at the age of five. He graduated from the Ottawa South United Academy before signing for English club Millwall.
Millwall
In 2013, Twardek joined the academy of English Championship side Millwall and signed his first professional contract with the club in April 2015. After missing the start of the 2015–16 season, due to a dislocated toe sustained in July, he returned from injury on 8 October 2015, playing in the reserve match against Plymouth Argyle U21. Towards the end of the 2015–16 season, Twardek appeared three times as an unused substitute bench. Following this, Twardek signed a one–year contract extension with the club. Twardek made his senior debut for Millwall on 30 August 2016, in an EFL Trophy game against West Bromwich Albion under-23s, where he set up a goal for Jimmy Abdou, in a 2–0 win. However, although he made three appearances, his first team place at Millwall became limited, leading him to get loaned out for first team football. By the time he went out on loan, he made three appearances for the side. In the 2017–18 season, Twardek made his league debut for Millwall on 21 November 2017, coming on as a late substitute, in a 0–0 draw against Hull City. He went on to make two more appearances for the side before being loaned out to Carlisle United. He was released by Millwall at the end of the 2017–18 season.
Loan spells
On 5 January 2017, Twardek joined National League side Braintree Town on a 28-day loan. He made his Braintree Town debut two days later, where he started the whole game and set up a goal, in a 2–1 loss against Chester. His performance at Braintree Town resulted in his loan spell being extended for another month and eventually for the rest of the season. He went on to make 12 appearances for the side, as Braintree Town were relegated from the National League at the end of the season after finishing in the bottom four. Twardek moved on loan to Carlisle United on 26 January 2018 for the rest of the season. He made his Carlisle United debut, where he started and earned himself a Man of the Match, in a 1–0 win over Forest Green Rovers on 30 January 2018. Although he made three more starts, Twardek most appearances comes from substitute bench, leading him to make 12 appearance for Carlisle United. At the end of the 2017–18 season, Twardek’s loan spell with Carlisle United came to an end.
After being released by Millwall, Twardek joined Irish club Sligo Rovers on 3 July 2018. Twardek made his Sligo Rovers debut, where he came on as a substitute for Caolan McAleer in the 69th minutes, in a 2–1 loss against Bray Wanderers on 8 July 2018. He scored his first goal for the club on 1 March 2019 against Finn Harps in a 2–1 victory. Twardek was acknowledged as the club's Player of the Month in July and August 2019. He left the club at the end of the 2019 season.
Bohemians
In November 2019, Twardek signed for Bohemians ahead of the 2020 season. He scored his first goal for the club in a 2-0 league win over his former side Sligo Rovers on 24 April 2020 in Dalymount Park. Twardek was named February Player of the Month by the club's fans via an online poll.
International career
Twardek is eligible to play for Czech Republic and Canada. Having been capped for the Czech Republic levels from under–17 to under–19 side, he switched his international allegiance to Canada in 2016.
Youth
In October 2013, Twardek was called up by Czech Republic national under-17 side, leading him to make his debut against Israel U17, in a 4–2 win. On 20 February 2014, he scored his first Czech Republic U17 goal, in a 2–2 draw against Wales U17. Twardek went on to make 11 appearances and scoring once, with his last appearance came on 31 March 2014 against Albania U17, with a 2–0 win. In April 2015, Twardek was called up by the under-18 side, making his debut on 20 April 2015, in a 2–1 win over United Arab Emirates U18. He went on to make three more appearances for the under-18 side. The following year, in February 2016, Twardek was called up by under-19. He played in both matches against Greece U19 on 2 February 2016 and 4 February 2016, drawing 1–1 and losing 1–0 respectively. Despite making no appearance since switching to Canada, Twardek was nominated for Canada's Under-20 Player of the Year award in 2016. In February 2017, Twardek was named to Canada's roster for the 2017 CONCACAF U-20 Championship He didn’t made his debut for the side until on 17 February 2017, where he started and played the whole game, in a 1–0 loss against Honduras U20. He then scored his first goal for the side, in a 2–0 win over Antigua and Barbuda U20 on 23 February 2017. He was named the Canada U20 Player of the Year in December 2017. In May 2018, Twardek was named to Canada's under-21 squad for the 2018 Toulon Tournament. He made his debut for the side on 28 May 2018, where he was given the captaincy and played 66 minutes before coming off as a substitute, in a 0–0 draw against Portugal U19. Twardek then captained the side on two more occasions. Twardek was named to the Canadian U-23 provisional roster for the 2020 CONCACAF Men's Olympic Qualifying Championship on February 26, 2020.
Senior
Twardek was called up to the Canadian senior team for a friendly against El Salvador on 29 September 2017. He made his national team debut against El Salvador, where he came on as a late substitute, in a 1–0 loss.