Napa was born in London and grew up in North Woolwich.[5] He played youth football with Reading and Oxford United's Academy before signing his first professional contract with Oxford United in May 2017.[6] After a loan period with Hampton & Richmond Borough, he made his senior Oxford debut as a 65th-minute substitute[7] in an EFL Trophy win over Gillingham in December 2017, providing the assist for Alex Mowatt to score the injury-time winner.[8] His league debut was also as a substitute, in a home victory over Milton Keynes Dons on 1 January 2018. His first start was in Karl Robinson's first match in charge, a televised 3–0 league defeat at Portsmouth on 25 March 2018.[9]
In August 2018 he signed a new three-year contract with Oxford, and joined Macclesfield Town on loan until January 2019.[10] After playing 22 games (in all competitions) at the start of the season, his appearances became less frequent under new manager Sol Campbell, and he returned to his parent club in early 2019 to recover from a virus.[11]
On his return to the Oxford first team in an EFL Cup first-round match against Peterborough United on 13 August 2019, Napa suffered a broken leg.[12]
On 22 January 2021, Napa returned to Woking on a one-month loan, following a prolonged injury lay-off.[14] On 25 March 2021, the loan was made permanent, with Napa signing a deal until the end of the 2020–21 campaign.[15]
On 13 August 2021, following his release from Woking, Napa opted to join Isthmian League North Division side Maldon & Tiptree[16] and went onto score on his debut during a 7–0 victory over Romford, a day later.[17]
On 15 July 2022, Napa agreed to return to the National League to join Wealdstone following a successful trial period.[18]
On 9 December 2022, Napa joined Dartford on an initial one-month loan.
At the end of the 2022–23 season Napa was released by Wealdstone.[19] Following his release, he joined Billericay Town.[20]
Personal life
Napa is of Zimbabwean Shona and South African descent.[6]