Edwards spent his entire college career at UCLA, including a red-shirted year in 2010. He made a total of 61 appearances for the Bruins and finished with 19 shutouts and a 1.07 Goals Against Average. He was named first team All-Pac-12 in 2013 and 2014.
On January 20, 2015, Edwards was selected in the third round (43rd overall) of the 2015 MLS SuperDraft by Orlando City and signed a professional contract with the club a month later.[6] He made his professional debut on June 17 in a 2015 U.S. Open Cup match against Charleston Battery. Orlando went on to advance on penalties.[7]
He made his first MLS start on October 23, 2017, away at Philadelphia Union on the final day of the season when regular starter Joe Bendik was ruled out with concussion. Orlando lost 6–1.
On July 14, 2018, following James O'Connor's appointment as manager, he was given the start over a healthy Bendik in the midst of a nine-game losing streak. Orlando won 2–1 with Edwards registering 3 saves.[9] Edwards would retain the starting job for five games, conceding 13 goals. He was released by the club at the end of the 2018 season when his contract expired.[10]
D.C. United
On December 19, 2018, Edwards was acquired by D.C. United in exchange for a second-round pick in the 2019 MLS SuperDraft.[11] On January 8, 2020, Edwards was re-signed by D.C. United for the 2020 season.[12] He was released by D.C. United on November 30, 2020.[13]
Loudoun United
Edwards has appeared in games for D.C. United's affiliate club, Loudoun United. He appeared the first time for Loudoun United in a game against the Tampa Bay Rowdies on March 31, 2019. He was able to keep a clean sheet in his debut as the game ended 0-0.