Comincia a correre su scooter nel campionato Petronas AAm Malaysian Cub Prix. Vince l'Asia Dream Cup nel 2014. Nel 2015 corre nella categoria Moto3 del campionato spagnolo Velocità, concludendo sesto; nello stesso anno esordisce nella classe Moto3 del motomondiale, correndo il Gran Premio d'Aragona in qualità di wild card a bordo di una Honda NSF250R dell'Honda Team Asia.
Nel 2016 rimane nello stesso team, con compagno di squadra Hiroki Ono. Vince la sua prima gara nel motomondiale in occasione del GP d'Argentina, conquistando la prima vittoria di un malese nel motomondiale.[1] Dopo due quattordicesimi posti e tre ritiri consecutivi, torna alla vittoria nel GP di Germania caratterizzata da una forte pioggia, vince davanti a Andrea Locatelli e Enea Bastianini.[2] Chiude la stagione al diciannovesimo posto in classifica piloti, con 62 punti all'attivo.
Nel 2017 passa in Moto2, correndo con una Kalex per lo stesso team della stagione precedente; il compagno di squadra è il giapponese Takaaki Nakagami. Ottiene come miglior risultato un ottavo posto nel Gran Premio di San Marino e termina la stagione al 27º posto con 10 punti. Nel 2018 rimane nello stesso team, con compagno di squadra Tetsuta Nagashima. Conclude la stagione al 30º posto con un punto, totalizzato con il quindicesimo posto in Francia.
Nel 2019 passa alla guida della Kalex del team SIC Racing. Durante le prove libere del GP di Spagna si frattura mignolo della mano destra e polso destro: in particolare l'infortunio al mignolo lo costringe a sottoporsi a più eventi chirurgici tanto che in questa stagione non prende più parte alle gare, venendo sostituito dai vari Mattia Pasini, Jonas Folger[3] e Bradley Smith, per poi essere definitivamente sostituito da Adam Norrodin dal Gran Premio d'Aragona. Ha totalizzato 3 punti con il tredicesimo posto in Argentina chiudendo 30º in classifica.
Nel 2020 corre in Moto3 con la Honda NSF250R del team Petronas Sprinta Racing; il compagno di squadra è John McPhee. L'infortunio al dito della mano dell'anno precedente gli pregiudica anche questa stagione: dopo aver saltato i Gran Premi di Austria e Stiria, decide di farsi amputare il mignolo.[4] Non ottiene punti.
A dicembre 2020 dichiara di ritirarsi dalle competizioni motociclistiche[5], a ottobre 2021 però torna a competere nel campionato malese Superbike.[6]