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] 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.