Smith joined the Shrewsbury Townyouth system at the age of seven, and was allocated a squad number by manager Graham Turner in December 2012, making the match-day squad for the first time in a League One home match against Brentford where he was an unused substitute in a goalless draw at the New Meadow. He signed his first professional contract in February 2014, and spent most of the following season on loan at Conference North side Tamworth. He made his senior debut on 4 October, playing in a 2–2 draw away to Guiseley in which he was given a yellow card in the 74th minute. He made 23 league appearances for the Lambs and two more in the FA Cup, scoring the equaliser in a 2–2 home draw against North Ferriby United on 8 November. His loan was extended on 31 December, and he was recalled by Shrewsbury on 9 April 2015. Smith made his Football League and Shrewsbury debut in a 4–2 home win over Colchester United on 10 October 2015, playing the full 90 minutes. Featuring regularly during the 2015–16 season, he signed a contract extension in March 2016, keeping him at the club until summer 2018. Early the following season, Smith joined National League side Barrow on loan until January 2017, however he was recalled in October 2016 by new manager Paul Hurst due to an injury crisis at his parent club. After featuring only infrequently following his recall, Smith subsequently joined National League North side Southport on a half-season loan in July 2017. Hurst hoped that Smith would "catch the eye" during this loan spell, in order for him to secure a future away from Shrewsbury, as he was out of the clubs plans. On his return to his parent club, he was released by mutual consent in March 2018, going on to join local rivals AFC Telford United on a deal until the end of the season. On 11 January 2019, Smith was loaned out to Alfreton Town for one month. After playing five games for the club, it was announced on 13 February, that the loan deal had been extended until the end of the season. However, Smith was recalled by Telford on 26 March 2019. He joined Alfreton on a permanent basis in summer 2019, signing a one-year deal.
International career
Smith is eligible to represent Wales owing to his Welsh grandmother, and made his debut for the Under−19 squad in May 2013. He was called up to the Under−21 squad for the first time in March 2015, making his debut in the 54th minute of a 3–1 win over Bulgaria in Cardiff. He won his second cap, and made his first start, for the Under−21 side in September 2016, playing the entirety of a 4–0 defeat against Denmark in a 2017 UEFA European Under-21 Championship qualifying match.