Adams attended Central Bucks High School South in Warrington, Pennsylvania, where he played high school football for the Titans. As a sophomore, he rushed for 2,085 yards and 28 touchdowns. He rushed for 738 yards and 10 touchdowns his junior year in 2013 before suffering a torn ACL.[1][2] As a senior, he returned from his injury, rushing for 1,623 yards with 25 touchdowns. He was named to the All-USA Pennsylvania Football Team at running back and earned offensive player of the year honors, by USA Today.[3]
Adams began his true freshman season in 2015 behind starter Tarean Folston and backup C. J. Prosise.[6] After Folston tore his ACL, he was given a larger role in the offense.[7] In his first college game against Texas, he rushed for 49 yards and scored two touchdowns.[8] Adams started his first game against Wake Forest, replacing Prosise who was injured the previous game. He rushed for 141 yards on 17 carries (8.3 avg), and scored a Notre Dame record 98-yard touchdown run.[9] Prosise would return the next game against Boston College; however, he was injured during the game and would not play again that season, leaving Adams as the starter for remainder of the year. Closing out the regular season at Stanford, Adams rushed for a 168 yards on 18 carries (9.3 avg) and one touchdown. He set a new Notre Dame record for rushing yards in a game for a freshman.[10] In the Fiesta Bowl against Ohio State, Adams ended his season rushing for 78 yards on 14 carries (5.6 avg) and adding one touchdown.[11] He finished his season rushing for 835 yards on 117 carries (7.1 avg), while rushing for six touchdowns.[12] His 835 yards on the season in 2015, set a new Notre Dame freshman record for rushing yards in a season, eclipsing the 786 garnered by Darius Walker, 2004.
Adams saw an expanded role in the 2016 season for the Fighting Irish. In the second game of the season against Nevada, he had 10 carries for 106 yards in the 39–10 victory.[13] On October 1, against Syracuse, he had 102 rushing yards.[14] On November 19, against Virginia Tech, he had 100 rushing yards to go along with a 22-yard reception in the 34–31 loss.[15] In the next game, against USC, he had 180 rushing yards in the regular season finale for the Fighting Irish.[16] Overall, Adams had 933 rushing yards and five rushing touchdowns on the season.[17]
Adams started his final season with the Fighting Irish strong with 161 rushing yards and two touchdowns against Temple.[18] Two weeks later, against Boston College, he had 229 rushing yards in the victory.[19] On September 30, against the Miami RedHawks, he had 159 rushing yards and two rushing touchdowns in the victory.[20] On October 21, against USC, he had 191 rushing yards and three rushing touchdowns in the 49–14 victory.[21] The next week, against NC State, he had his second game of the year going over 200 rushing yards with 202.[22] Through eight games of the 2017 season, Adams ranked fifth among all Football Championship Subdivision players with 1,169 rushing yards on 132 carries.[23] Overall, he finished his final collegiate season with 1,430 rushing yards and nine rushing touchdowns.[24] On January 5, 2018, Adams announced that he would forgo his senior year to pursue a career in the NFL.[25] Adams returned to classes at Notre Dame, and earned his Bachelor's degree in May 2020 with a major in Psychology from the College of Arts and Letters.[26][27]
Following the 2018 NFL draft, Adams signed with the Philadelphia Eagles as an undrafted free agent on May 11, 2018.[28] He was waived on September 1, 2018, and was signed to the practice squad the next day.[29][30] He was promoted to the active roster on September 18, 2018.[31] In Week 3, against the Indianapolis Colts, Adams had six carries for 30 rushing yards in his NFL debut.[32] In Week 12, Adams rushed for 84 yards and a touchdown on 22 carries as the Eagles defeated the New York Giants 25–22.[33] In the next game, against the Washington Redskins, he had a season-high 85 rushing yards in the 28–13 victory.[34] Overall, he finished his rookie season with 511 rushing yards and three rushing touchdowns.[35] He made his playoff debut in the Wild Card Round against the Chicago Bears with two rushing yards on one carry in the 16–15 victory.[36]
Adams was waived by the Eagles during final roster cuts on August 31, 2019.[37]
New York Jets
On September 1, 2019, Adams was signed to the New York Jets practice squad.[38] He was promoted to the active roster on November 5.[39]
On September 5, 2020, Adams was waived by the Jets and signed to the practice squad the next day.[40][41] He was elevated to the active roster on September 12 for the team's Week 1 game against the Buffalo Bills and reverted to the practice squad on September 14.[42][43] He was again elevated to the active roster on September 19 for the team's Week 2 game against the San Francisco 49ers and reverted to the practice squad on September 21.[44][45] He was signed to the active roster on November 24.[46]
Adams signed a contract extension with the Jets on March 17, 2021.[47] He was waived on August 31, 2021, and re-signed to the practice squad the next day.[48][49] He was promoted to the active roster on September 6, 2021.[50] He was waived on October 2.[51]
New Orleans Saints
On November 10, 2021, Adams was signed to the New Orleans Saints practice squad.[52] He was released on January 4, 2022. He signed a reserve/future contract with the Saints on January 24, 2022.[53] He was waived on May 11, 2022.[54]
On March 15, 2023, Adams was hired as an offensive quality control coach at Vanderbilt.[56]
Philanthropy
On July 21, 2021, Adams broke ground at his boyhood playground in a project to upgrade the facility for current residents of his former Warrington neighborhood, Willow Knoll.[57][58][59]