ML Engineer at Tencent, building the platform that deploys and scales 1,000+ GPUs of model serving. First-Class CS (King's College London) and MSc Computing (AI & ML) from Imperial College London. Research in imitation learning and hyperbolic graph networks; builds models from the paper up (Transformer, SRGAN, AlphaZero-style chess) and takes them to production on Kubernetes.
Experience
Tencent, ML Engineer, AI infrastructure · Mar 2026 – present
Main contributor (about 450 of 550 commits) to a Go/tRPC platform through which 1,000+ GPUs of model-serving services are deployed and scaled across multiple Kubernetes clusters and business units.
Designed and built time-of-day GPU autoscaling from scratch: conflict-validated schedules, a multi-config scheduler/executor, staged two-phase scale-up and a database-enforced lock against concurrent fires.
Made the platform multi-tenant (per-tenant query scoping and layered config); added request-ID tracing, GPU usage history and self-healing cluster clients.
Since Oct 2026, second-in-command on a new query service for gameplay-session conversation data (Go, MySQL, LLM workers).
9Loop, Software Engineer Intern · 2024
Refactored a Svelte/TypeScript page generator (30% lower render latency); built an integration-test suite for a game API (coverage 40% → 85%).
Designed a dual-channel architecture embedding actions and observations separately for few-shot imitation learning.
Developed a Hyperbolic Graph Attention Network (Poincaré ball) and a Product Manifold Attention module combining Euclidean and hyperbolic channels.
Used Sarkar's construction for training-free hyperbolic embeddings; benchmarked against Instant Policy (the baseline scored higher; the work showed the approach is feasible).
Acute kidney injury predictor, Imperial · 2024
Gradient-boosted classifier on NHS creatinine data (87% AUC), deployed on Kubernetes with Prometheus monitoring and automated rollback; wrote the live-failure postmortem.
Neuromorphic computing, independent study, Imperial · 2024 · winner-take-all spiking network in Lava (Loihi 2) for face-mask classification.
Projects
TradingJoe, multi-strategy portfolio system · 2026
Black-Litterman, Fama-French and momentum strategies with GNN and LLM view generators, walk-forward backtests and Moomoo paper trading.
Red-teamed my own results with five review agents (leakage, ML, LLM, finance, execution), found no out-of-sample edge, and published a retraction.
RE-News, cited issue ranking for Malaysia · 2026
Per-source encoders compress news, economic and opinion data into one citable signal schema; an LLM fuses only signals, so every claim resolves to evidence. Runs on a local qwen3:32b by default.
From scratch: SRGAN (4×, 29.3 dB PSNR / 0.82 SSIM on DIV2K) · AlphaZero-style chess (MCTS, parallel GPU self-play) · the original Transformer · licence-plate OCR (YOLOv8 + CNN, 94% char accuracy) · A3C-style FPS agent across 3 machines (~60% faster training)
ML Engineer at Tencent and main author of its model-serving platform: deployment, GPU autoscaling and multi-tenancy for 1,000+ GPUs on Kubernetes. Runs his own GPU home lab serving local LLMs over Tailscale. First-Class CS (KCL), MSc AI & ML (Imperial).
Experience
Tencent, ML Engineer, AI infrastructure · Mar 2026 – present
Main contributor (about 450 of 550 commits) to a Go/tRPC platform through which 1,000+ GPUs of model-serving services are deployed and scaled across multiple Kubernetes clusters and business units.
Designed and built time-of-day ("tidal") GPU autoscaling from scratch: conflict-validated schedules, a scheduler/executor firing multiple configs per tick, staged two-phase scale-up, a MySQL-enforced lock against concurrent fires, and reconciliation that auto-disables orphaned schedules.
Built GPU usage history (30-minute snapshots) and fixed the GPU accounting behind resource reports.
Reliability: request-ID tracing across every RPC, automatic Kubernetes client rebuild on token expiry, namespace guards before deploy, bounded cluster-probe budgets, migration of 29 stuck orphaned records.
Made the platform multi-tenant, with environment tags bound to the clusters each tenant may deploy into; wrote the bilingual (EN/CN) handover with eleven recorded design decisions.
9Loop, Software Engineer Intern · 2024
Built an automated integration-test suite for a third-party game API (coverage 40% → 85%); refactored a Svelte/TypeScript page generator.
Projects
Acute kidney injury predictor, Imperial · 2024
Deployed an ML inference service on Kubernetes with Prometheus monitoring, alerting and automated rollback on model degradation; wrote the postmortem for a live failure.
Ollama home lab · 2026 – present
Private GPU inference box (Ollama on Windows + WSL) reachable over a Tailscale mesh; serves qwen3:32b as the default backend for RE-News.
RE-News, data pipeline with a switchable model backend · 2026
Pipeline of per-source encoders into PostgreSQL; each stage's model backend (local Ollama or Claude API) is a config switch.
Distributed RL training · 2023
Spread A3C-style asynchronous training across 3 machines, cutting wall-clock time by about 60%.
ML Engineer at Tencent writing the Go services behind its model-serving platform (tRPC, Protobuf, MySQL, Kubernetes), with side projects in Go, Python, C++, TypeScript and Kotlin: an exchange matching engine, a tamper-evident election ledger, an on-device finance ledger. First-Class CS (KCL), MSc AI & ML (Imperial).
Experience
Tencent, ML Engineer, AI infrastructure · Mar 2026 – present
Main contributor (about 450 of 550 commits) to a Go/tRPC/Protobuf platform backed by MySQL through which 1,000+ GPUs of model-serving services are deployed and scaled across multiple Kubernetes clusters and business units.
Made it multi-tenant: every query scoped by business unit with ownership checks, configuration resolved per tenant from a shared base layer.
Built a time-of-day autoscaling scheduler with conflict-validated schedules, staged scale-up and a database-enforced lock (UNIQUE constraint) against double fires.
Hardened cross-environment service cloning; replaced N per-service calls with one batch call; made DAO writes transactional; removed hard-coded credentials; led a four-phase refactor of monolith handlers into packages.
Since Oct 2026, second-in-command on a new gameplay-conversation query service: fixed timezone-wrong DATETIME writes with a tested migration runbook, and LLM worker timeouts.
9Loop, Software Engineer Intern · 2024
Integrated a third-party game API with an automated integration-test suite (coverage 40% → 85%); refactored a Svelte/TypeScript page generator (30% lower render latency).
Parses bank statements on the phone into a local ledger; the balance sheet reconciles by replaying every movement against each closing balance.
Integer money end to end; build-enforced module boundaries; 600+ unit tests across JVM and iOS.
myBudiXc, exchange matching engine (Go) · 2025
Price-time-priority order book for instant matches plus a deadline-aware batch matcher that pairs unmatched orders to maximise volume; WebSocket market feed.
polyarb, Polymarket arbitrage (Python) · 2026
Depth-aware VWAP bundle costing from the live order book, risk controls for non-atomic multi-leg execution, paper trading by default, SQLite persistence.
Also: C++ market-data terminal (Finnhub ticks → TCP socket → Python plotter) · Go terminal budget tracker (Bubble Tea + SQLite) · BlockHub, 1st of 50+ teams at the Polygon × EasyA hackathon