My primary language across every project. At OCBC it powered NLP pipelines and FastAPI microservices; in PicklePedia it handles keyword routing, fuzzy matching and the OpenAI integration.
Used for GPU-accelerated inference of Meta's NLLB-200-3B at OCBC. Managed model loading, CUDA device assignment and tensor batching to keep translation throughput under 10 seconds per document under concurrent enterprise load.
Deployed Meta's NLLB-200-3B (a 3B-parameter model covering 200+ languages) in production at OCBC, working with Hugging Face Transformers, tokenisers and inference pipelines for multilingual document translation. Studied the underlying transformer architecture through diploma coursework and independent reading.
Built production REST APIs for ML model serving. The OCBC translation service ran behind a FastAPI layer handling API key auth, OCBC email validation, structured error codes and a callback mechanism, coordinating with Ray actors for parallel GPU inference.
Backend for the PicklePedia WhatsApp chatbot, deployed on Railway and serving real users. Handles webhook routing, keyword matching, OpenAI integration and Supabase-persisted conversation memory. Synchronous request handling suited the chatbot's turn-by-turn flow.
Used to containerise ML inference services for consistent deployment across environments. Learned production patterns at OCBC under enterprise governance requirements and carried those practices into personal projects.
SureFit uses React 18 with Vite and TypeScript, built as a full e-commerce marketplace with Stripe payments and five user tiers. Rebuilt Academy runs on Next.js 15 with server-side forms and a custom admin dashboard.
Powers the backend across three personal projects: SureFit for auth, database and storage; ReservistGO for real-time attendance; and PicklePedia for per-user conversation memory. I've worked with Postgres, Row Level Security, realtime subscriptions and edge functions.
Integrated into SureFit for subscription plans, one-off purchases and discount codes. Set up webhook listeners for payment lifecycle events, implemented the full checkout session flow and tested against Stripe's test suite.
GPT-4o-mini powers PicklePedia's free-text responses with per-user memory via the Responses API. Gemini 3.8 drives the full interrogation engine in Dry Run including search grounding and resolution tracking. Anthropic Claude powers the Terra AI assistant in TerraTrend, explaining satellite climate data across the globe. All three integrated via their respective cloud APIs.
Built the interactive 3D WebGL globe in TerraTrend using Three.js r160 with point-mapped satellite data overlays, custom camera controls and a Canvas 2D fallback. Handled projection mapping of lat/long coordinates from NASA and NOAA datasets onto a sphere rendered at 60fps.
Studied image classification, object detection and semantic segmentation through diploma coursework using TensorFlow and OpenCV. Built CNN-based classifiers, worked with data augmentation pipelines and applied transfer learning from pretrained architectures for real-world classification tasks.
Machine Learning
Deep Learning
NLP
Computer Vision
Generative AI
LLMs
TensorFlow
PyTorch
Hugging Face
Streamlit
React
Next.js
Vite
Three.js
Ray
Python
JavaScript
TypeScript
SQL
Java
HTML / CSS
Git
Docker
FastAPI
AWS
Supabase
Firebase
Google Cloud
Vercel
Railway
Anthropic Claude