Staff ADS Engineer @ Aurrigo. I'm a self-driving tech lead and the core author of a Transport Canada-authorized SAE Level 4 autonomy stack: simulation, sensor fusion and localization, motion planning, and machine learning perception.
Team of 6. Core author and code owner of two $1M+ production deployments. [press]
Real-time aircraft turnaround with vehicles, people and baggage. Every AV sensor simulated in CUDA, with LiDAR 6x faster than NVIDIA's renderer on the same GPU.
Real-time GNSS, LiDAR and IMU sensor fusion, live at 5 sites on 4 vehicle platforms.
Occupancy mapping, SLAM and obstacle clustering in real time: 5 ms per scan on 0.1 CPU core.
Trained in PyTorch, deployed as TensorRT inference on the vehicle with an ISO 26262 redundant safety channel.
Real-time WebGPU rendering of HD maps, live sensors, plans and vehicle views at a steady 60 FPS.
ROS · C++ · Python · CUDA · PyTorch · TensorRT · GTSAM · Linux
2023 – 2025
Aurrigo · ADS Team Lead, North America
C++ GTSAM factor graph built on GLIM, fusing LiDAR, IMU and GPS.
400+ candidate trajectories at 50 Hz, selecting the smoothest safe path.
1,000s of safety cases for airport customers.
ROS · C++ · Python · GTSAM · SLAM · Unreal Engine · CI/CD
2018 – 2021
Co-op internships · ML, data science and NLP
Nasdaq (Verafin)Machine Learning Engineer · May – Aug 2021Lifted gradient-boosting fraud-detection model precision by 6 pp at fixed recall.
Bank of CanadaData Science Developer · Sept 2020 – Apr 2021Built anomaly-detection models automating economist data-review workflows.
IBMNLP Developer · Jan – Apr 2020Improved enterprise semantic matching by 8% via weighted word embeddings.
Royal Bank of CanadaFull Stack Data Scientist · May – Aug 2019Built a full-stack semantic search prototype with an NLP backend and web frontend.
BlackBerry QNXNLP Developer · Sept – Dec 2018Applied NLP classifiers to automate software-license tagging across QNX repos.
Projects
Side project
Sage · Real-time D&D AI co-pilot
Live voice agent: per-player streaming speech-to-text, an LLM over 53 MCP tools and hybrid RAG.
Distilled a 66M DistilBERT gate from the LLM that decides when to speak, in 70 ms on CPU.
Fine-tuned Qwen LoRAs from 1.7B to 27B to frontier-API card quality.