About
I build AI systems that handle languages most models ignore. My work on Whisper fine-tuning for Malay-English-Mandarin code-switching is the kind of problem that can't be solved by calling an API — it requires hands-on ML work with real conversation data.
I ship complete products, not prototypes: a self-hosted speech-analytics SaaS that secured an enterprise contract in 6 weeks, a WhatsApp customer service platform, a marketing automation SaaS, a financial OCR pipeline, and 4 cross-platform mobile apps live on the iOS App Store and Google Play. I'm most interested in the infrastructure side — self-hosting models, designing async processing pipelines, and making AI systems reliable at production scale.
I work AI-assisted end to end (Claude Code, Codex) across design, coding, testing, and documentation — the reason a 3-person team could ship a production platform in 6 weeks. Placed 6th of 150 teams at Codex Hackathon 2026 KL.
I'm looking for AI engineering roles where I can work on harder problems with better engineers.
Experience
April 2026 — Present
AI Engineer (Part-time) · Ctrl CV
- ▸Built and published 2 cross-platform mobile apps for government-linked clients using React Native and Expo — live on the iOS App Store and Google Play
- ▸Owned the full mobile release cycle: UI implementation, backend API integration, App Store review submission, and post-release updates
August 2025 — Present
Software Engineer → AI Engineer / Technical Lead → Product Manager · Dataverse
- ▸Shipped SAPOT.ai, a production speech-analytics SaaS, in 6 weeks with a 3-person team; client signed an enterprise contract on delivery
- ▸Built self-hosted STT + LLM pipeline (Whisper v3 Large, Qwen 2.5-13B) for multilingual audio → structured analytics, serving ~500 conversations/month in production
- ▸Fine-tuned Whisper using distillation for Malay-English-Mandarin code-switching — 5% accuracy improvement on internal eval set
- ▸Designed async processing with Redis job queues to handle 30-120s inference times without API timeouts
- ▸Built WhatsApp Business API platform (Ruby on Rails + Docker) letting 10+ staff manage 300+ conversations/month through one shared account
- ▸Promoted to Product Manager post-launch — roadmap planning, feature prioritization, and cost forecasting, managing a cross-functional team of 7
- ▸Shipped and published 2 mobile apps to the iOS App Store and Google Play, extending the platform beyond web
May 2024 — May 2025
Full-Stack Developer Intern · Pilot Multimedia
- ▸Migrated legacy wholesale credit rating system to React.js and Node.js
- ▸Built financial report OCR pipeline using Docling IBM, achieving 81% data extraction accuracy
- ▸Developed text classification model using OpenAI embeddings for chart-of-accounts mapping across 100+ financial documents
- ▸Automated ETL workflows for 420+ client financial statements, reducing manual processing time by 67%
Projects
Hiring engineers in the AI era is broken: anyone can paste an AI-generated answer they can't explain, so a pass/fail take-home proves nothing. VibeProof measures the investigation, not the answer. The candidate steps into an immersive 3D game — an incident room (Godot) — and debugs a real p95 latency spike (180ms → 850ms at a calm 35% CPU) using metrics, logs, traces, source and an AI pair, with a full sandbox environment built inside the game for writing and running unit tests. Every move is captured into a 'Proof Replay' so HR and reviewers can follow the candidate's chain of thought as they reason toward the fix.
Built in 3 days. Two live runtimes over one scenario: a Godot 4.7.1 candidate game and a FastAPI simulation + evaluation backend. 75 backend tests and 14 Godot suites passing. Built with Codex (GPT-5.6).
SAPOT.ai — Speech Intelligence PlatformFeatured
Converts multilingual audio conversations (Malay, English, Mandarin) into structured analytics. Self-hosted Whisper v3 + open-source LLM pipeline — no third-party API dependency.
Shipped in 6 weeks, client signed enterprise contract. ~500 conversations/month in production. Fine-tuned Whisper with distillation for code-switching languages. Async Redis queue architecture handles 30-120s inference per item.
Cross-Platform Mobile Apps
4 React Native + Expo apps built and published for government-linked and enterprise clients, extending web platforms to mobile.
All 4 live on the iOS App Store and Google Play. Owned the full release cycle end to end: UI, backend API integration, store review submission, and post-release updates.
Marketing system that auto-generates ad copy from market trend analysis, with performance-based auto-publish and auto-pause logic.
Automating 100+ ad campaigns via Facebook Graph API. 25% improvement in ad engagement. 30% reduction in wasted ad spend.
WhatsApp Customer Service Platform
Internal platform enabling multi-agent customer service through a single WhatsApp Business account with conversation routing.
10+ staff managing 300+ conversations/month through one shared account. Containerized Rails backend reduced deployment time by 60%.
Financial OCR Pipeline
Document extraction system that reads financial statements via Docling IBM OCR and classifies line items to chart-of-accounts using OpenAI embeddings.
81% extraction accuracy across 420+ financial statements. Automated ETL reduced manual processing time by 67%.
Automated Trading Strategies
5 automated trading strategies built in Pine Script for TradingView from custom client trading rules and risk parameters.
Combined technical indicators (KDJ, MACD, EMA) with multi-timeframe filters, improving trade signal accuracy by 15%.
Speech Intelligence Platform
Architecture decisions, tradeoffs, and what I learned shipping a multilingual STT + LLM pipeline in 6 weeks
Details generalized to respect client confidentiality.
The Problem
An enterprise client needed to extract actionable insights from hundreds of audio conversations monthly. Manual review was expensive, inconsistent, and couldn't scale. The system needed to handle multilingual conversations (Malay, English, Mandarin code-switching) with high accuracy — a challenge most off-the-shelf STT solutions fail at.
Speech-to-Text Pipeline
I chose to self-host Whisper v3 Large over using a third-party API — this gave us cost control at scale, data privacy compliance, and the ability to fine-tune. I applied distillation methods to improve transcription accuracy by 5% for multilingual code-switching conversations.
LLM Analytics Engine
I selected and deployed a self-hosted open-source LLM for structured analytics extraction — converting raw transcripts into structured JSON outputs including sentiment, key topics, and action items. Self-hosting eliminated per-token API costs at production scale.
Full-Stack System Design
I designed the end-to-end architecture: React frontend for real-time dashboards, Express.js API layer, Redis for async job queues (critical since inference takes 30-120s per item), and Supabase for auth and persistence. Deployed on Railway with CI/CD via GitHub Actions.
Key Technical Decisions
I chose self-hosted STT over third-party APIs
Cost predictability at scale, data privacy requirements, and the ability to fine-tune for underserved multilingual use cases
I chose an open-source LLM over GPT-4
Eliminated per-token costs, gave full control over prompt engineering and potential fine-tuning, and met data residency requirements
I designed async processing with Redis queues
AI inference takes 30-120s per item — synchronous processing would cause API timeouts. Queues enabled batch processing and retry logic
I selected Supabase over custom PostgreSQL
Built-in auth, real-time subscriptions for live dashboards, and row-level security — reduced backend development by ~2 weeks on a tight deadline
What I Learned
- →Fine-tuning STT models for code-switching languages requires careful dataset curation — I found that synthetic data performed poorly compared to real conversation samples, which shifted my approach mid-project.
- →A 6-week deadline forced ruthless prioritization. I learned to ship the core AI pipeline first and iterate on the UI — perfect is the enemy of shipped.
- →Self-hosting AI models is cost-effective but operationally complex. I built monitoring for inference latency and GPU memory early, which saved us from production incidents later.
Skills
Languages
AI / ML
AI Models
AI Workflow
Frontend & Mobile
Backend
Data & Infra
Get in touch
Looking for AI engineering roles where I can work on multilingual NLP, speech systems, or LLM infrastructure. Open to Malaysia, Singapore, or remote.
Say Hello