Cresciuto nelle file degli Hampton Roads Piranhas e dei Virginia Cavaliers, nel gennaio 2010 è passato ai New York Red Bulls. Nell'aprile 2011 è passato al Toronto FC. Il 15 luglio 2011 si è trasferito al Columbus Crew, nell'ambito dello scambio che ha portato Andy Iro e Léandre Griffit nel club canadese. Ha militato nelle file del Columbus Crew per cinque stagioni e mezzo, totalizzando 144 presenze e 4 reti. Il 30 marzo 2017 è passato al Vancouver Whitecaps. Dopo una stagione in cui ha totalizzato 30 presenze e 4 reti, il 28 febbraio 2018 è passato agli Chicago Fire. Il 9 agosto 2018 ha risolto il proprio contratto. Rimasto svincolato, il 7 agosto 2019 è stato ingaggiato dai canadesi del FC Edmonton. Al termine della stagione è rimasto svincolato. Il 30 luglio 2021, dopo un periodo al Motown, è passato al Maryland Bobcats, club in cui ha militato fino al termine della stagione.
Nazionale
Nato in Camerun e cittadino americano dal 2013, ha ricevuto una prima convocazione dalla selezione camerunense nel novembre 2015, senza tuttavia scendere in campo. Nel gennaio 2016 è stato convocato dalla nazionale statunitense. Il 31 gennaio 2016 ha debuttato con la Nazionale statunitense nell'amichevole Stati Uniti-Islanda (3-2), subentrando a Jermaine Jones al minuto 71. Nel marzo 2016 ha accettato la convocazione della Nazionale camerunense. Il debutto con il Camerun è avvenuto il 26 marzo 2016, in Camerun-Sudafrica (2-2), gara in cui ha sostituito Georges Mandjeck all'inizio del secondo tempo. Ha totalizzato, con la maglia del Camerun, due presenze.