Richards left Fulham to join Manchester City at the age of 14.[3] During his final season at the club he scored a goal against Rochdale to help his side reach the quarter-final of the EFL Trophy.[4]
Brighton & Hove Albion
In July 2019 Richards joined the academy of Brighton & Hove Albion for a transfer fee reported to be £2.5 million.[3][5] He made his professional debut for Brighton on 25 September, in a 3–1 defeat at home against Aston Villa in the EFL Cup.[6]
Doncaster Rovers (loan)
On 25 August 2020, Richards signed for Doncaster Rovers on a season long loan for the 2020–21 season.[7][8] He made his debut four days later starting in the 3–2 away defeat against Blackburn Rovers in the EFL Cup.[9] He made his league debut on 12 September, playing the whole of a 1–1 draw at home to MK Dons.[10] Richards scored his first goal on 26 September, Doncaster's third in a 4–1 home victory over Bristol Rovers.[11]
Return to Brighton
Richards made a Premier League matchday squad for the first time on 14 August in the opening game of the 2021–22 season; he remained as an unused substitute in the 2–1 away win over Burnley.[12] He made his first appearance of the season ten days later, starting in the 2–0 away victory over Cardiff City in the EFL Cup second round.[13] He made his Premier League debut on 28 August, coming on as a 73rd-minute substitute for Jakub Moder in the 2–0 home loss against Everton.[14] Richards made his second Premier League appearance almost four months after his debut, coming on as a 84th-minute substitute replacing Enock Mwepu in the 1–0 home defeat against Wolverhampton Wanderers.[15]
Birmingham City (loan)
Richards joined EFL Championship club Birmingham City on 7 January 2022 on loan for the remainder of the season.[16] He suffered an injury during the medical with the club, falling into the edge of a board during a jumping test that looks at the fitness of a player's calf. Manager Lee Bowyer said "I have never heard anything like this. The players have done it a thousand times – it's just this season, he did it ten times and then he does it. It's crazy. I have never heard of a player getting injured in the medical."[17] Richards made his first appearance in Birmingham's matchday squad on 26 February, but remained unused.[18] He eventually made his debut on 12 March, as a 69th-minute substitute for Juninho Bacuna in the goalless draw at home to Hull City.[19] According to the Birmingham Mail's reporter, "He looked very, very neat on the ball, not afraid to take possession and retain it in tight spots and also good at finding little angles around and in the box. He is a languid mover with good pace and plays with his head up, looking to bring others into the game."[20] He made five more appearances (two starts) in what remained of the season.[21]
Queens Park Rangers
On 22 July 2022, Richards joined EFL Championship club Queens Park Rangers on a season-long loan for the 2022–23 season with an option for a permanent deal.[22] On 11 May 2023, Queens Park Rangers announced that Richards' move would be made permanent on a three-year deal.[23]