Haynes began playing youth soccer at age five with Maple Leaf Cavan FC.[1] At age nine, he joined Peterborough City SA, later joining Whitby SC in 2007 and Ajax SC in 2009.[2][3] With Ajax, he won the U14 Ontario Cup and won a silver medal at the national championships at both the U14 and U15 levels.[3] He also played with the Ontario provincial team at the U14, U15, and U16 levels.[4] In 2011, he joined the Toronto FC Academy which competed in the second division of the Canadian Soccer League.[5][6] He then went on trial with English club Queens Park Rangers's Academy, but was not able to join due to visa issues, as he was not eligible for an ancestral visa until he turned 17.[7] He then returned to Canada, joining the Vancouver Whitecaps Academy in late 2011, where he spent the next five years.[8]
University career
In July 2019, Haynes committed to attend the University of British Columbia, where he would play for the men's soccer team beginning in the fall.[9][10] He scored his first goal on October 25 against the Alberta Golden Bears, scoring an Olimpico (scoring directly from a corner kick).[11][12] He played in all 21 of the team's matches that season, helping them to a sixth-placed finish at the U SPORTS National Championship.[13] At the end of the season, he was named to the Canada West All-Second Team.[14]
In February 2015, he signed a professional contract with Whitecaps FC 2 in the USL.[15] He made his professional debut on April 1 in a 3–0 victory over the Austin Aztex.[18] He scored his first professional goal in a 3-1 victory over Portland Timbers 2 on May 20, 2016.[3]
In 2018, he returned to the PDL with Calgary Foothills FC, where he won the league championship with the club.[21]
After the 2018 season, he received interest from some Canadian Premier League clubs, ahead of the league's inaugural season, but ultimately he was not offered a contract,[22] and also had a trial with USL club FC Tucson, but did not make the squad.[23] He then decided to attend UBC and play university soccer instead.[22] In May 2019, he joined the TSS FC Rovers in the PDL.[24]
In the spring of 2020, he went on trial with Canadian Premier League club Pacific FC.[25][26] In July 2020, he signed a contract with the club.[27] He was initially set to sign on a U SPORTS deal, but was instead offered a fully professional contract.[28] In October 2020, Haynes re-signed with Pacific FC for the 2021 season.[29] In 2021, he won the league title with the club.[30][31][32] The club then picked up his option for the 2022 season.[33][34] At the end of the 2022 season, he departed the club.[35][36] He made 52 appearances in his three years with the club, with his playing time diminishing in his final year, after losing his starting spot after having suffered an injury.[37][38]
In December 2022, he signed with Valour FC for the 2023 season.[39][40][41] He struggled with multiple injuries during his first season with the club, being limited to just 903 minutes in 14 appearances.[42]
International career
In 2008, he represented Canada at the U12 Danone Nations Cup, where he served as a team captain.[43][44]
In November 2011, he made his debut in the Canadian national program, attending a camp with the Canada U15 team.[1] In 2013, he played with the Canada U17 team, winning the bronze medal at the 2013 CONCACAF U-17 Championship.[28] and was named to the tournament Best XI,[1] He scored in the bronze medal match, as well as in the penalty shootout, to help the squad win the bronze medal.[45] Through their performance, he helped them to qualify for the 2013 FIFA U-17 World Cup.[46][47] He appeared in all three of the team's matches at the World Cup.[48]