Smith began his career as a youth player at Hillfield Swifts Boys Club, before joining Rangers aged 10.[3] Having been released by Rangers aged 14, Smith joined Heart of Midlothian (Hearts).[3] Smith signed a 2-year professional contract in July 2014, extending his stay with the club until at least 2016.[4] Aged 18 he made his first team debut[5] on 20 August 2014, in the second round of the Scottish Challenge Cup away to Livingston, playing from the start in a 4–1 loss.[6] Smith made one more appearance that season[7] before being loaned to Scottish League Two side East Fife until the end of January 2015.[8] He made his league debut on 30 August 2014, against East Stirlingshire in a 3–1 win,[9] with his first goal coming against Queen's Park on 20 September salvaging a 2–2 draw.[10] Smith's loan deal was later extended until the end of the season.[11] In all he made 23 appearances for East Fife, scoring once.[7]
On 24 September 2016, it was announced that Smith had signed on loan at Raith Rovers for a month.[13] He was recalled by Hearts on 29 October 2016.[14]
Smith signed a one-year contract with Ayr United in August 2018.[17]
Dundee United
On 16 April 2019, Dundee United confirmed that Smith had signed a pre-contract to join the club in the summer, agreeing a two-year deal.[18] Following relegation to the Scottish Championship in the 2022–23 season, Smith was released by United at the end of the season.[19]
Cheltenham Town
On 20 July 2023, Smith signed for Cheltenham Town, following a successful trial with the club.[20]