Franks grew up in Vancouver, Washington and attended Evergreen High School, where he was a captain of the school's basketball team for his final three years. As a junior, he averaged 19 points and eight rebounds per game and was named All-Region by The Columbian and honorable mention Class 4A All-State by the Associated Press. Rated a three star recruit and one of the 25 top recruits in the state by The Seattle Times, Franks committed to play college basketball at Washington State University going into his senior year. Franks was again named All-Region and honorable mention All-State as a senior.
College career
Franks played four seasons for the Washington State Cougars, playing exclusively off the bench during his first two years with the team. He appeared in 23 games as a freshman, averaging 2.2 points per game and 8.3 minutes played. In his sophomore season, he appeared in all 30 of the Cougars games and averaged 6.3 points and 3.3 rebounds per game. He entered the starting lineup at the beginning of his junior year after losing over 25 pounds during the offseason. Franks finished the season 7th in the Pac-12 Conference with 17.4 points per game while also averaging 6.6 rebounds and 1.9 assists and was named honorable mention All-Pac-12 and the Pac-12 Most ImprovedPlayer of the Year. During the season he set a school record for most three-pointers made in a game with ten against California on January 13, 2018, scoring a then-career high 34 points in total. Following the season Franks declared for the 2018 NBA Draft, but did not hire an agent. He ultimately withdrew from the draft after deciding to return to Washington State for his senior season. As a senior Franks played in 27 games for Washington State, missing five games due to injury, and averaged a conference-best 21.6 points per game and finished with the ninth-highest rebounding average with 7.2 per game and was named first team All-Pac-12 and became the first WSU player to be named to the NABC All-District 20 team since Brock Motum in 2012.
Professional career
Charlotte Hornets/Greensboro Swarm (2019–2020)
Franks worked out for several teams and participated in the NBA G League Elite Camp before the 2019 NBA Draft, but was not selected. Franks signed a two-way contract with the Charlotte Hornets and their NBA G League affiliate, the Greensboro Swarm on July 3, 2019. On January 15, 2020, the Charlotte Hornets announced that they had waived Franks, without his appearing in a game for the parent team. He averaged 18.5 points, 5.6 rebounds and 1.6 assists per game for the Swarm.
Stockton Kings (2020–present)
On February 4, 2020, Franks was traded to the Stockton Kings in exchange for the returning player rights to Daniel Ochefu and the Kings' first round pick in the 2020 G League draft. On February 19, Franks recorded 29 points and 10 rebounds in a loss to the Agua Caliente Clippers.