DuitNow Payments App
A DuitNow payments client built like money matters: real bank-QR parsing, integer-cent money, and biometrics before every debit.
Senior Software Engineer · Sungai Udang, Melaka
I build mobile, web, and AI-backed systems for teams that need to ship quickly and keep things running.

A payments client, a statewide border-control system, a tutor marketplace, an OCR counting pipeline, a timetable solver, and a receipt renderer. Different domains, same habit: make the important parts explicit and testable.
A DuitNow payments client built like money matters: real bank-QR parsing, integer-cent money, and biometrics before every debit.
The Flutter and Vue front end for a Malaysian tutor marketplace that reached 15,000+ members (2021) across web, iOS, and Android.
Three Flutter apps — public, enforcement, and command centre — for Sarawak's COVID-era border-entry approval system.
I’m not interested in making a tool sound smarter than it is. I care about clear constraints, tests, and release paths I can explain.
I like tests to pin down behaviour before the code gets comfortable. For payments, auth, parsing, and renderers, the suite becomes the checklist.
Auth, crypto, file uploads, and untrusted input get a separate pass before release. I write down the threat model so the trade-offs are visible.
I'm comfortable with models, but I don't let them make decisions that need deterministic checks. OCR can suggest; validators and rules still decide.
I benchmark libraries, models, and costs before settling on them, then leave notes for the next person who has to maintain the work.
I’m open to roles and project work where careful engineering is useful, especially around mobile apps, backend systems, and AI-assisted workflows.