The midfielder originally had a trial with Bristol City at the age of seven, which proved unsuccessful. He trained with Southampton for a couple of years, before joining the Bristol Inner City Academy. He was snapped up by Bristol City at the age of 14 in 2013, signing his first professional contract at the age of 18 in April 2017.
In October 2017, he got his first experience of senior football when joining National League South side Chippenham Town on a one-month loan, scoring one goal in two appearances and being an unused substitute three times.
In December 2017, he joined National League South side Bath City on an initial one-month loan which was later extended until the end of the season. During his time at Bath, the young midfielder made 16 appearances and was named an unused substitute seven times.
In the summer of 2018, he returned to Bath City for a second spell on a season-long loan. During his time at Twerton Park, he scored one and assisted five across all competitions as he helped the Romans reach the National League South playoff eliminator where they lost out to Wealdstone.
In the 2019 summer, he got his first break in the Football League with a season-long loan move to Forest Green Rovers, assisting two goals in 17 games while being an unused substitute 15 times.
He made his Bristol City debut as a late substitute during September 2020 in a win over Exeter City in the Carabao Cup.
Later that same month, he joined League Two side Grimsby Town on a season-long loan and made nine appearances while being an unused substitute once. He was recalled early by his parent club on New Year’s Eve 2020.
In February 2021, he joined League One side Gillingham on loan until the end of the season, making one appearance and being an unused substitute eight times.
In July 2021, the midfielder joined League One side MK Dons on trial with a view to a permanent transfer, which eventually fell through due to a change in management at MK.
In September 2022, he returned to Bath City on loan until the end of the season where he made 43 appearances, scoring two goals and assisting two while being an unused substitute four times. He helped Jerry Gill’s men win the Somerset Premier Cup 2023.
In the summer of 2023, he departed Bristol City upon the expiry of his contract.
He signed permanently for the Seagulls in August 2023 following a successful pre-season trial, making his debut the same day as a substitute in the opening win of the Vanarama National League South season against Havant & Waterlooville.