He made his debut for Cardiff as a substitute in an FA Cup defeat against Macclesfield Town on 5 January 2013.[8] His contract was extended to the end of the 2013–14 season. Despite making no further first-team appearances, he was offered a new deal to keep him at the club beyond 2013–14, but rejected the offer to find first-team football elsewhere.[9]
Later that year Coulson had trials at Hibernian and Ipswich Town[10] before signing for Oxford City in January 2015. His performances attracted the attention of professional clubs, going on trial at Crewe Alexandra in October 2015,[11] before joining Eastleigh in January 2016 – a new record signing for the Spitfires.[12] Coulson was called up to the England C squad in October 2016, but turned down the call up so he could play in Eastleigh's televised FA Cup first round tie against Swindon Town, a tie which the Spitfires won after a replay.[13]
After six goals in the first half of the 2016–17 season, Coulson joined Barnet in January 2017 for a club record sale fee – this time a record sale for Eastleigh.[14]
After only 11 appearances, Coulson joined Ebbsfleet United for an undisclosed fee on 13 July 2017.[16] On his competitive debut for Ebbsfleet, Coulson assisted both goals in a 2–2 draw with Guiseley. In the following game he opened the scoring in a 2–0 win against Maidstone United.
Coulson's brother Sam (born 1995) was also in the academy at Manchester City before joining Stoke City. He retired in May 2015 due to a recurring knee injury.[23]