Shaffelburg played youth soccer for Valley United SC and Team Nova Scotia.[3] In 2012, he joined FC Nashville Heroes, where he played in the 2012 U.S. Club Soccer National Cup.[4] In January 2014, he joined the Sporting Kansas City Academy, where he played for a month.[4] Shaffelburg demonstrated dominance in cross country running and track and field in his middle school years. He won the NSSAF junior boys 3000m in June, 2014 with a spectacular sub 10 minute performance. College scouts still speculate what levels he could have reached if he stuck with running. At age 15, he began attending high school in Massachusetts at the Berkshire School, where he played for their highly regarded soccer program.[5][6] He played an instrumental part in the team, scoring four goals in two games in the NEPSAC playoffs his senior year (2018), helping Berkshire win their fifth title in seven years[7] and he was named 2017–18 Gatorade Massachusetts Boys Soccer Player of the Year.[8] While in the US, he also played youth soccer with Manhattan SC where he won U.S. Club Soccer U-16 National Championship in 2016.[9]
He joined the Toronto FC Academy in 2016.[10] He appeared in a friendly for the HFX Wanderers FC Atlantic Selects team in 2018 against Fortuna Düsseldorf's U-21 team, where he scored a goal.[11] He had originally committed to the University of Virginia on a soccer scholarship, but ultimately decided to sign a professional contract instead.[12]
In November 2018, he signed his first professional contract with Toronto FC II[9] and began the 2019 season with them in USL League One.[14]
Shaffelburg made his first appearance for Toronto FC in the 2019 CONCACAF Champions League on February 19, 2019 and then signed with Toronto FC as a Homegrown Player on June 21, 2019.[8] He made his first MLS appearance the following day, playing 31 minutes against FC Dallas in Frisco, Texas.[15] Four days later, on June 26, he had his first start for Toronto FC at BMO Field scoring an assist in a 3–2 win against Atlanta United FC,[16] setting up the fastest goal in TFC history only 29 seconds into the game.[17] Shaffelburg would quickly find himself in the starting lineup shortly after signing, earning rave reviews for his pace from the coaching staff.[18] He scored his first goal in the 74th minute on 15 May 2021, in a 1–1 draw against New York City.[19] On September 3, he was loaned to Toronto FC II.[20] Upon completion of the 2021 season, Shaffelburg's option for the 2022 season would be picked up by Toronto.[21] He went on a short loan to the second team again in 2022.[22]
In August 2022, Shaffelburg joined Nashville SC on loan for the remainder of the 2022 season, with an option for a permanent transfer in 2023.[23] He made his debut for Nashville on August 21 against FC Dallas and scored a goal in a 4–0 victory.[24] After the season, Nashville exercised the purchase option for the 2023 season and signed him to a four-year contract extension with a club option for 2027.[25][26]
Shaffelburg received his first senior international call-up to Canada on January 3, 2020, for matches against Barbados and Iceland.[28] On January 10, 2020, he made his debut as a substitute against Barbados.[29]
In June 2023, Shaffelburg was called up to Canada's squad for the 2023 CONCACAF Gold Cup.[30] On July 9 he scored his first goal for Canada during the quarter-finals of the tournament against the United States. The match ended in a 2–2 draw, though Canada lost 3–2 in the ensuing penalty shoot-out.[31]
In June 2024, Shaffelburg was named in Canada's 26-man roster for the 2024 Copa América.[32] In Canada's second group match of the tournament, he assisted Jonathan David, who scored Canada's first ever goal at the tournament in a 1–0 victory over Peru; this was Canada's first ever win in the competition.[33] In their quarter-final match against Venezuela, he scored for Canada in a 1–1 draw, which they would go on to win on penalties.[34] Canada was defeated in the semi-final against Argentina.