Hailing from Birmingham, Theo turned professional with Derby County in 2006 before a loan spell at Doncaster Rovers, playing in the final game at their former Belle Vue home. Released by Derby, he eventually joined Rotherham United in 2007 before beginning a four year spell at Solihull Moors, being voted Player of the Season in 2010. In 2011 he joined Alfreton Town, before two years later moving to Nuneaton Town. He returned to Solihull for the 2015/16 season as club captain. After a spell with injury he signed for Brackley Town for the remainder of the 2017/18 season, featuring on the bench in their FA Trophy triumph at Wembley. Former team-mate Gavin Cowan then persuaded him to put pen to paper for the Bucks in May 2018.