Charlo attended Eureka High School in Eureka, California where he played baseball, football and basketball. As a senior, he played in 24 games and averaged 24.0 points and nine rebounds per game for the Loggers basketball team.
Charlo attended Diablo Valley JC from 2002 to 2004 where he was named all-state both seasons. In his sophomore season, he played in 30 games and averaged 18.1 points and 7.4 rebounds per game, going on to earn Bay Valley Conference MVP honors and was named to the all-conference team. Following the 2003–04 season, his jersey number was retired by Diablo Valley.
In 2004, he transferred to Nevada. In his junior season, he was named to the 2005 Western Athletic Conference All-Newcomer Team. In 32 games (11 starts), he averaged 9.4 points, 3.5 rebounds and 2.1 assists per game.
In his senior season, he was named to the 2006 WAC All-Defensive Team and the WAC All-Tournament Team. He was also named the Wolf Pack's sixth man of the year. In 33 games (19 starts), he averaged 10.2 points, 5.3 rebounds, 2.3 assists and 1.0 steals per game.
After going undrafted in the 2006 NBA draft, Charlo joined the Golden State Warriors for the 2006 NBA Summer League.
On November 2, 2006, he was selected by the Anaheim Arsenal in the ninth round of the 2006 NBA D-League draft. However, he was later waived by the Arsenal on November 22, 2006. On January 12, 2007, he was acquired by the Albuquerque Thunderbirds. Ten days later, he was waived by the Thunderbirds after just 6 games. On March 29, 2007, he was acquired by the Colorado 14ers.
In June 2007, Charlo signed with Entente Orléanaise 45 of France for the 2007–08 season. However, he later left Orléanaise in September 2007 following pre-season.
In October 2007, he was re-acquired by the Colorado 14ers. On November 14, 2007, he was waived by the 14ers due to injury. On December 7, 2007, he was re-acquired by the 14ers, but again waived on January 12, 2008. On January 23, 2008, he was acquired by the Anaheim Arsenal.
In August 2008, Charlo signed with Okapi Aalstar of Belgium for the 2008–09 season.
In November 2009, Charlo was acquired by the Reno Bighorns.
In July 2010, Charlo joined the Minnesota Timberwolves for the 2010 NBA Summer League. On October 30, 2010, he was re-acquired by the Reno Bighorns.
In December 2011, Charlo was re-acquired by the Reno Bighorns.
In October 2012, Charlo signed with Fuerza Regia of Mexico for the 2012–13 LNBP season. In March 2013, he returned to the United States and was re-acquired by the Reno Bighorns.
In November 2013, Charlo was once again re-acquired by the Reno Bighorns.
On February 13, 2014, he was named to the Futures All-Star team for the 2014 NBA D-League All-Star Game, as a replacement for Malcolm Thomas.
In October 2014, Charlo signed with Hamamatsu Higashimikawa Phoenix of the Japanese bj League.
In March 2016, Charlo signed with the Rain or Shine Elasto Painters of the PBA to replace Antoine Wright.
Charlo is the son of Corris Charlo and Sylvia Purify.