Storey was born in West Bromwich and started his football education with Wolverhampton Wanderers but was released and whilst playing for Sedgley Lions under 15s in Division 3 – was spotted by Mick Elliott MBE who was the head of recruitment at Coventry City. He signed for Coventry City but after one full season was not offered a scholarship and was released. Again without a club, Elliott took Storey to Swindon Town for a trial game where he impressed the coaches and was handed a two-year scholarship. During his first season as a scholar at Swindon, he impressed and helped Paul Bodin's youth side to win their third successive season.[3]
After Swindon Town manager Paul Hart was dismissed as manager in April 2011, Bodin was installed as caretaker boss.[4] Bodin brought Storey into the first team set-up for the club's home fixture against Oldham Athletic. He made his debut as a 78th minute substitute, replacing on-loan forward Calvin Andrew in a 0–2 loss.[5]
On 6 May 2013, Storey missed a penalty in a shoot-out in the play-off semi-final against Brentford, as Swindon lost 5–4 on penalties, after the tie had finished 4–4 on aggregate.[7] He was handed his first start on 10 August, and provided an assist for the game's winner against Stevenage.[8]
On 5 October 2013, it was announced that Storey had joined Conference Premier side Salisbury City on a month's loan deal. He made his debut on the same day in a 2–1 win against Wrexham.
On 21 December, Storey returned to first team action for Swindon, and after coming off the bench in the 71st minute to replace Ryan Harley in a Football League One home clash against his former side Coventry City, he scored the winner 15 minutes later.[9]
On 30 January 2015, Storey joined Newport County on an initial one-month loan.[12] He made his debut for Newport on 31 January versus Shrewsbury Town as a second-half substitute. The loan was subsequently extended to the end of the 2014–15 season. He scored his first goal for Newport on 28 February 2015 in a 1–0 win against Burton Albion.
On 17 May 2016, Storey agreed to join Aberdeen when his contract with Swindon expired in the summer of 2016.[16] He scored his first goal for Aberdeen on 20 August 2016, in a 2–1 win against Partick Thistle.[17]
Partick Thistle
Storey moved to Partick Thistle for an undisclosed fee on 11 August 2017, signing a two-year contract.[18] Storey scored his first goal for Thistle with a 92nd-minute winner in a 2–1 home win over Dundee.[19] In May 2018, it was apparent that his contract would not be renewed by the club. However, in July 2018, Alan Archibald extended Storey's contract with the Maryhill side with a revised one-year contract. Storey was released by the club in May 2019 after a disappointing season in the Championship.[20]
Return to Inverness Caledonian Thistle
For the start of the 2019/20 season, Storey rejoined Inverness on a permanent contract.[21] Storey netted his first goal back at the club in a 2–1 win against Arbroath.[22] Storey spent the first stage of the 2020/21 season out injured but returned to the team in November 2020. Storey scored his first goal of the season in a 3–0 away win in the league, over Queen of The South.[23]
English Non-League
Storey signed for National League North side Hereford on 24 June 2021.[24] He made 72 appearances and scored 10 goals before being released at the end of the 2022–23 season.[25]
Following his release by Hereford, Storey remained in the National League North by signing for Curzon Ashton on 26 May 2023, becoming their first signing of the summer.[26] On 1 March 2024, he joined North West Counties League Premier Division club Bury on a 28-day loan.[27] He was released by Curzon Ashton in May 2024.[28]