GeoMon

GeoMon

CMPT 362 · Mobile Application Development · Fall 2025
A location-based, Pokémon-style Android RPG: explore real-world maps, battle and capture GPS-spawned monsters, duel other players in real time, and chat with your monster via the Gemini API. I built the map, location service, spawning, capture, and the Firebase real-time multiplayer backend.
Text-Conditioned IMLE

Text-Conditioned IMLE

APEX Lab · SFU · Summer 2025
Extending Adaptive IMLE to text-to-image generation. Across 100+ runs on Flowers, CelebA, and ImageNet, I benchmarked conditioning architectures (FiLM, conditional StyleGAN, concatenation), CLIP/L2 losses, and text representations, and made the IMLE matching cheap with FAISS + fused distances. The recurring obstacle was diversity collapse under conditioning; the strongest fix was initialising from a strong unconditional prior.
Dynamic Radiant Foam

Dynamic Radiant Foam

CMPT 469 · Rendering & Visual Computing for AI · Spring 2025
An ambitious attempt to extend Radiant Foam, a real-time Voronoi ray-tracing radiance field, from static to dynamic scenes. I modelled per-point temporal density, polynomial motion, and 4D spherical harmonics, and tamed training instability with frame-time noise and an SSIM loss (≈30× faster convergence). It didn’t fully succeed, but the failure modes were the lesson.
PedroVerse

PedroVerse

CMPT 461 · Computational Photography · Spring 2025
A Blender add-on that stylizes 3D assets into non-photorealistic looks by editing only their albedo and object-space normal maps, with no engine-specific shaders. Combines lightweight style transfer, palette recoloring, and four geometric-abstraction filters in a modular UV-space pipeline that travels across engines and VR.
MirrorBrain

MirrorBrain

KaleidoAI · New Venture Challenge (Ethos Fund) · 2023–2024
An LLM-augmented, Zettelkasten-style note-taking app, and the flagship of my startup attempt through the Ethos Fund New Venture Challenge. I led a team of 5, building on Next.js/TypeScript, FastAPI, Convex, and Qdrant. A failed venture (execution, not idea) and the post-mortem that taught me the most.
Symmetric Network with Dual-vehicle Attributes Augmentation

Symmetric Network with Dual-vehicle Attributes Augmentation

7th AI City Challenge @ CVPR 2023 · Track 2 · 7th place
My first large-scale research project: natural-language tracked-vehicle retrieval. A symmetric cross-modal network (RoBERTa + EfficientNet, InfoNCE) with a dual-vehicle attribute-augmentation system that mines a second vehicle in each query as free supervision. 35.44% MRR, 7th place, and an early, hard lesson in the validation/test domain gap.
Face Emotion Detection with Angular Encoding

Face Emotion Detection with Angular Encoding

Research exploration · 2022
One of my earliest research experiments: classifying facial emotion from the angular geometry of MediaPipe landmarks rather than raw pixels, with KNN/SVM/AutoML classifiers on FER2013. A reproduction study whose accuracy gap traced back to a single skipped super-resolution step.
Virtual Ring Try-On

Virtual Ring Try-On

YITEC · Machine Learning Engineer · 2020–2021
Vietnam’s first real-time hand-tracking AR ring try-on mobile app, built with MediaPipe, Unity AR Foundation, and ARCore. Derived the placement/lighting maths and pushed the frame rate from 5 to 30 FPS. On par with or better than FPT and Viettel at the time, and the foundation for one of YITEC’s later core businesses.