Bailey was born in Birmingham and lived in the Bartley Green district. His father, Luke, was on the books of West Bromwich Albion as a youngster. Bailey attended Priory School in Edgbaston. He joined Birmingham City F.C.'s Academy as an under-seven, signed a pre-contract agreement in March 2016 to commit to a first professional contract which would run from his 17th birthday in December to the end of the 2018–19 season, and took up a two-year scholarship in July. Academy coach Steve Spooner described him as "a forward player that plays down the middle or off the side, a number 10 type player good close control and a good variation of finishes." He played for Birmingham's under-23 team in 2016–17, despite his youth, and was a regular for that team the following season. Bailey was included among the substitutes for the Championship fixture at home to Ipswich Town on 31 March 2018. He remained unused as his team won 1–0. He helped Birmingham's youth team reach the semifinal of the 2017–18 FA Youth Cup, but was injured after four minutes of the first leg against Chelsea, depriving him not only of the chance to progress furtherChelsea outclassed Birmingham 7–0 on aggregatebut also of the possibility of making his senior debut in what remained of the season. He was a member of the first-team squad for their pre-season training camp in Austria, and was given a squad number for the 2018–19 season. He joined Gloucester City of the NationalLeague South on a month's loan in November 2018, to give him experience of competitive first-team football. The loan was extended to a second month, and by the time he returned to his parent club he had made 13 appearances in all competitions, 12 in the league, and scored twice. He felt he had matured during the spell, which had "definitely improved game in many ways. That's physically, mentally andmore than anythingtemperamentally", and added the "grit and determination" that comes from playing senior football in a context where "each game means everything" to a team fighting relegation. He was offered a two-year deal in March 2019, and signed it in June. Bailey made his competitive debut for Birmingham on 6 August 2019 in the EFL Cup first round. Manager Pep Clotet fielded an inexperienced team for the visit to Portsmouth, and Bailey came into the 3–0 defeat as a second-half substitute. His first appearance in the Football League came on 20 August as a very late substitute in a 2–0 win at home to Barnsley in the Championship. He scored his first senior goal for the club with a 89th-minute header from Dan Crowley's cross to clinch a 2–1 Championship win against Middlesbrough, six minutes after coming on as a substitute and two minutes after Middlesbrough had equalised. After three more substitute appearances over the next couple of months, Bailey joined League Two club Forest Green Rovers on loan until the end of the season. He went straight into the starting eleven for the visit to Macclesfield Town and was involved in his side's goal in a 2–1 defeat. On his third appearance, in a 2–2 draw away to Grimsby Town, Bailey scored a "wonder goal" that manager Mark Cooper rated "the best goal seen at Forest Green." Against Port Vale on 11 February, a poor tackle left Bailey with ankle ligament damage; he was expected to return to Birmingham for treatment and to be out for six weeks. He had made five appearances when the League Two season was first suspended and then ended early because of the COVID-19 pandemic.